单用类与'静态类'

时间:2010-12-02 22:02:52

标签: java class-design

我有一个程序来处理不同的对象,这些对象有自己的指令集(比如他们自己的程序),并且我想要运行这些程序的主类。然后我有两个选择:

  • 创建一个类InstructionHandler,在我的主类中创建它的一个实例,并将请求传递给那个对象[Singleton模式 - 感谢Mark Peters]
  • 使用静态方法创建一个类InstructionHandler,并在我的主类中使用它们

从软件设计的角度来看,最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

您是否考虑过使用Interpreter Pattern?是否可以为每个对象组合指令集以创建某种语法?

答案 1 :(得分:0)

使用Singleton你会好得多。如果您(例如,测试)想要改变系统的行为,静态方法会干扰它。使用Singleton,您可以简单地子类化并覆盖关注的方法,然后使用子类的实例代替常规类实例。静态方法不可能进行这种替换。