在我的上一个项目中,我注意到,在类名中包含设计模式名称非常方便.例如:
ContextLazyFactory
RunOnceMediator
ThirdPartyMediator
MyProjectCliFacade
BinaryGate
它使项目易于阅读.另外一个好处是您不会使用自己的名称,如"RunOnceManager","ContextDelayedConstruction","ThirdPartyInterface"等,这些名称可能仅对作者有明显的意义.另一方面,我不希望在STL中看到像vector_container这样的类.你怎么想?
我对此主题的当前观点是:作为类层次结构中重要节点的类应在其名称中具有其设计模式,以强调层次结构并使项目更易于阅读.
在许多情况下,我似乎很自然:
命名设计模式以解释它们的作用
命名类来解释它们的作用
当解释类的目的的最简单方法是设计模式术语时,为什么不使用它呢?
另一方面,当设计模式大多是偶然的时候,然后排除它.例如,一个类可能恰好是一个单例,但这不是它生命中的主要目的,所以我不希望在名称中看到"Singleton".相比之下,工厂的主要目的是成为其他物品的工厂 - "FooFactory"非常有意义.