当我实现设计模式时,我是否应该保留"策略"、"访问者"、"facade"等术语,或者我是否可以将这些名称适合我的应用程序上下文?什么是最佳实践?
您应该使这些名称适合应用程序的上下文。这将使人们更容易阅读您的代码。您可以在文档中添加模式。
我认为您应该在命名中始终保留一些对模式的引用,使其具有意义和描述性。
模式是一种通信手段。如果我遇到XyzVisitor代码,我就知道已经使用了访问者模式。除此之外,这个名字已经传达了一大堆关于代码如何工作(或应该如何工作)的信息。
也就是说,有时它只是有点奇怪。如。DatabaseSingleton。而AccountRefreshCommand则非常适合。
取决于你使用的模式,有些模式名可能与类名混在一起,例如:我使用
class LogFactory
class StudentsAdapter
用于工厂模式和适配器模式,但是
Engine.Instance
为单例。
取决于您是否愿意在使用不同模式的情况下重命名类,对我来说,这可能会给匈牙利符号带来太多困难。