首页 文章

如何命名一个生成其他类的类? [关闭]

提问于
浏览
1

我有几个类都实现了一个接口:

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 回答

  • 5

    你在描述工厂模式http://en.wikipedia.org/wiki/Factory_method_pattern

    通常我们使用的约定是SampleFactory

    但不要过度思考它 . 从样本中制作这样的名字真的很难 . 例如,对于大多数人来说,一个正方形从形状中继承是显而易见的 . 所以

    ShapeFactory.Create("Square");
    

    会很有意义的 . 所以看看你的问题,看看ISample到底是什么样的东西 . 如果我从业务/问题方面有意义,那么了解问题的其他程序员可以解决这个问题 .

相关问题