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是一个好主意。它应该是静态类还是普通类?