我知道一个只包含公共静态成员函数的类被称为Monotype。而某些类,例如Java/C#中的Integer类,实现了各种静态功能。我也是编写厨房水槽实用程序类的指南,如InputCleaner.StripHTMLTags()等。只有公共静态方法与实例化类的类
是否存在Monotypes和公共静态函数的指导原则?
例如,让说我有一个骰子类
class Dice
{
public static function RollD100()
{
....
}
}
应该是蒙纳,或具有被实例化一个类?
我确实觉得对于必须被实例化类的几个优点:
- 你需要一个对象,如果你有类中的状态或数据保持的
- 轨道您可以使用多态,如那里似乎没有静态成员函数多态性(至少在C++中,如果我没有记错,想想PHP 5.3可能有)
而对于单一型,你会得到
- 它的功能就像一个全局函数
- 没有初始化
除了这些必要的步骤,还有什么其他准则有哪些?
只是澄清一点,这不仅仅是关于扩展方法,而更多的是“什么时候使用公共静态方法/成员函数?” – Extrakun 2009-08-11 06:46:37