对不起,我只是不知道如何正确的说话。你有这些方法的工厂吗?类型或工厂中的静态方法?
说我有一类叫做表和这三种方法:
//Creates a new table in underlying provider and returns new Table object.
CreateNew(string Name);
//Opens the table in provider and returns new Table object.
OpenTable(string Path);
//Same action as above just on a collection, and returns a IList<Table>
OpenTables(IList<string> path);
在我使用这样的事情,所有的方法都是静态的类型当前时间:
Table tab = Table.OpenTable("SomePath");
Table tab = Table.CreateNew("DummyTableName");
你明白了。
但是我想知道这些是否应该在工厂。事情是这样的:
TableFactory factory = new TableFactory();
Table tab = factory.CreateNew("DummyTableName");
Table tab = factory.OpenTable("SomePath");
工厂不会是静态的,因为这将使得使用一个工厂难以测试
你觉得还有什么其他的代码?
打开一个表格需要一个底层提供者来调用,所以如果我只是使用了一个构造函数,我就会打破“在构造函数规则中没有工作”。 – 2009-06-17 04:02:05