背景
我一直在考虑在代码中记录设计模式,方法是为常见的设计模式设置接口,这样当人们阅读我的代码时,就可以清楚地看到我使用的是一种设计模式。
我会通过在我们的解决方案中创建一个名为Design的项目来做到这一点,因此很明显,它是一个通用的术语,而不是特定于业务/组织的术语。甚至可能将它变成一个开源包,以进一步将其与我们项目中的业务逻辑区分开来。
该项目将由用于不同设计模式的所有类的单独接口组成,在实现模式时将对这些类进行扩展/实现。
问题
Are在将接口弯曲成工具以记录固有的非功能性的东西时是否存在任何功能问题?
In --换句话说,使用接口作为文档工具的后果是什么,因为接口非常肤浅?
Baring前两个问题不涉及任何问题,您会使用这个通用设计模式的“工具”吗?
<#>Can -
发布于 2018-01-22 12:06:48
你能想到为什么你不这么做吗?
这是一个糟糕的想法,因为它在各种方式上都是倒退的。你的问题决定了你的解决方案,而不是从书中提取的模式。您的类描述它们所做的事情,而不是它们在图表中表示的框。您的实现可能遵循一种模式,但它们总是针对当前的问题而定制的。而且由于各种实现都会不同,所以试图将它们强制到标准化的接口中是很愚蠢的。
发布于 2018-01-22 13:17:32
发布于 2018-01-22 13:00:13
我有一个选择解决方案的问题,包括名字中的设计模式。例如WidgetFactory,CutCommand,PasteCommand。
是FactoryPattern,是总体设计模式的名称,那么所有成员都在发挥作用吗?
例如:
抽象工厂模式有以下成员: AbstractFactory、ConcreteFactory、AbstractProduct、ConcreteProduct。
命令模式有以下成员,命令,ConcreteCommand,调用者,接收器。
这里的问题是,如果您足够幸运地了解设计模式,那么您就不太可能识别构成该设计模式的组件的名称。此外,如果使用设计模式的好处之一是提高了可识别性,我觉得使用这种方法没有好处。
https://softwareengineering.stackexchange.com/questions/364473
复制