我正在介绍SOLID设计原则,我正在尝试将单一责任原则和开放式原则联系起来以设计模式.
目前我有
SRP:代理,外观
OCP:战略,指挥
我应该包括其他基本模式吗?
SOLID原则是一个优秀的OO语言和框架的更多属性,而不是其他任何东西.他们不会轻易地转化为设计模式.相反,它们在设计模式中影响好与坏.
通常,所有 SOLID原则都出现在每个设计模式中.如果没有出现所有SOLID原则,您可以改进设计模式.
单一责任实际上是封装加上继承和多态的一些方面.单一责任更多是如何将问题分解为合作对象并定义这些对象的类的基本原则或原则.所有设计模式都应该说明这一点
同样,Open/Closed是一种语言功能,通常通过继承实现.但它可以通过monkeypatching完成.所有设计模式都应该说明这一点
Liskov Substitution也是一种语言特色.我们经常使用设计良好的多态类来实现它.有些人认为鸭子打字打破了这个原则,其他人说鸭子打字表明它.有许多设计模式依赖于Liskov Substitution.任何具有多态性的东西都将展示Liskov Substitution.
接口隔离可以是语言功能.Java有它.Python - 大多数人认为 - 不会这样做.但是,您会注意到许多Python项目尝试使用超类和单元测试来形式化其接口定义.
依赖性倒置(取决于抽象)通常是一种语言特征.没有多少设计模式坚持这一点.但是,我们中的许多人喜欢使用Java Collections库中的抽象,以便我们可以在具体类中使用Liskov Substitution.