我理解一个只包含公共静态成员函数的类称为Monotype。某些类(如Java / C#中的Integer类)已实现各种静态函数。我也是编写厨房水槽实用程序类的指南,比如InputCleaner.StripHTMLTags()等。
是否有Monotypes和公共静态函数的指南?
例如,假设我有一个骰子类
class Dice
{
public static function RollD100()
{
....
}
}
应该是Monotype,还是必须实例化的类?
我确实为必须实例化的类找到了一些优点:
而对于单一型,你会得到
除此之外,还有哪些其他指导原则?
答案 0 :(得分:1)
我使用它们的唯一目的是在单个模块中收集相关但无状态的功能。只要添加状态(成员变量),就会有一个Singleton。
答案 1 :(得分:0)
Monotypes,monletons和static class对某些场景非常有效。但他们冒着设置OO前思维的风险,从而使您获得更好的代码清晰度,可发现性和重用性。例如,像StripHTMLTags()这样的东西会更有意义作为String类的扩展吗? (或者可能是输入小部件类)?