在我的上一个项目中,我注意到在类名中包含设计模式名称非常方便。例如:
它使项目易于阅读。额外的好处是您不会使用自己的名称,例如“RunOnceManager”、“ContextDelayedConstruction”、“ThirdPartyInterface”等,这些名称可能仅对作者具有尖锐的意义。另一方面,我不希望在 STL 中看到像 vector_container 这样的类。你怎么想?
我目前对这个主题的看法是:作为类层次结构中重要节点的类应该在其名称中包含其设计模式,以强调层次结构并使项目更易于阅读。
请您参考如下方法:
在许多情况下,这对我来说似乎很自然:
当用设计模式术语来解释一个类的目的时,为什么不使用它呢?
另一方面,当设计模式主要是偶然的,则排除它。例如,一个类可能恰好是一个单例,但这不是它在生活中的主要目的,所以我不希望在名称中看到“单例”。将其与主要目的是成为其他对象的工厂的工厂进行比较 - “FooFactory”非常有意义。


