C# 如何命名生成其他类的类?
我有几个类都实现了一个接口:C# 如何命名生成其他类的类?,c#,design-patterns,C#,Design Patterns,我有几个类都实现了一个接口: interface ISample { } class A:ISample { } class B:ISample { } class C:ISample { } 以及另一个基于某些情况创建它们的类,例如: class CreateISample { ISample Create(string situation ) { switch(situa
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不是一个好名字
这有什么标准吗?我记得我读过一本关于设计模式的书,他们为这个工厂模式建议了一个合适的名称。您正在描述工厂模式 通常我们使用的惯例是抽样工厂 但不要想得太多。从样本中提取这样的名字真的很难。例如,对大多数人来说,正方形的形状是天生的。所以
ShapeFactory.Create("Square");
这很有道理。所以看看你的问题,看看ISample到底是什么样的东西。如果我从业务/问题方面讲得有道理,那么理解问题的其他程序员也能解决问题。您正在描述工厂模式 通常我们使用的惯例是抽样工厂 但不要想得太多。从样本中提取这样的名字真的很难。例如,对大多数人来说,正方形的形状是天生的。所以
ShapeFactory.Create("Square");
这很有道理。所以看看你的问题,看看ISample到底是什么样的东西。如果我能从业务/问题的角度理解问题,那么其他理解问题的程序员也能解决问题。将其命名为SampleFactory并将问题移动到或?我会称之为Bob(tgif:))如何
生成示例
?@Sean,否;方法名称应以动词开头,但不能以类开头name@ThomasLevesque-抱歉,我的意思是应该调用类generateSample
,而不是方法ISampleGenerator听起来像个更好的名字,但会给人一种界面的印象。把它命名为SampleFactory并把问题移到or上怎么样?我叫它Bob(tgif:))怎么样GenerateSample
?@Sean,不;方法名称应以动词开头,但不能以类开头name@ThomasLevesque-抱歉,我的意思是应该调用类generateSample
,而不是方法ISampleGenerator
听起来是个更好的名字,但会给人一种界面的印象。因此,从本质上讲,使用Factory是个好主意。它应该是一个静态类还是一个普通类?所以从本质上说,使用Factory是一个好主意。它应该是静态类还是普通类?