我有几个类都实现了一个接口:
interface ISample
{
}
class A:ISample
{
}
class B:ISample
{
}
class C:ISample
{
}
和另一个基于某些情况创建它们的类,例如:
class CreateISample
{
ISample Create(string situation )
{
switch(situation )
{
case "create A":
return new A();
case "Create B":
return new B();
case "Create C":
return new C();
}
}
}
这门课最好的名字是什么?
创建ISample并不好,因为我有:
CreateISample.Create("Create A");
其中有两个Create作为名称的一部分 . 此外,CreateISample可以执行其他一些操作(例如,保存一些与所有实例相关的常量值,或者保存已创建实例的列表等) . 然后CreateISample不是一个好名字 .
这有什么标准吗?我记得我读过一本关于设计模式的书,他们为这个工厂模式提出了一个合适的名称 .
1 回答
你在描述工厂模式http://en.wikipedia.org/wiki/Factory_method_pattern
通常我们使用的约定是SampleFactory
但不要过度思考它 . 从样本中制作这样的名字真的很难 . 例如,对于大多数人来说,一个正方形从形状中继承是显而易见的 . 所以
会很有意义的 . 所以看看你的问题,看看ISample到底是什么样的东西 . 如果我从业务/问题方面有意义,那么了解问题的其他程序员可以解决这个问题 .