目的:使程序高内聚、低耦合、高重用、高灵活,可维护性好,可扩展性高。
设计模式的三种类型:
创建型:单例、工厂、抽象工厂、原型、建造者
结构型:适配器、桥接、装饰、组合、外观、享元、代理
行为型:模板法、命令、访问者、迭代器、观察者、中介者、备忘录、解释器、状态、策略、责任链
七大原则:
一、单一职责原则
一个类应该只负责一项职责。
二、接口隔离原则
一个类对另一个类的依赖应该建立在最小的接口上,和单一职责原则是相通的,需要对类或接口进行适当的拆分,以避免职责过度集中。
三、依赖倒置原则
一句话,依赖抽象面向抽象编程。
1、中心思想是面向抽象编程,而不是面向对象编程,变量的声明类型尽量是抽象类或接口,这样我们的变量引用和实际对象间就存在一个缓冲层,利于程序扩展和优化
2、抽象不应该依赖细节,细节应该依赖抽象
3、高层模块不应该依赖底层模块,二者都应该依赖其抽象
四、里氏替换原则
我们所有引用基类的地方必须能透明地使用其子类的对象,所以,在子类中尽量不要重写父类的方法,可以称之为向下兼容。
继承会使两个类的耦合性增强,适当情况下,我们可以通过依赖、聚合、组合来解决问题。
五、开闭原则
对扩展开放,对修改关闭,这里的扩展是指增加现有抽象的子类或者抽象类去实现功能,而不是修改现有类的代码。
尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。
六、迪米特法则
又名最少知道原则
更简单的定义:只与直接的朋友通信。
直接的朋友:只要两个对象之间有耦合关系(依赖、关联、组合、聚合等),我们就说这两个对象之间是朋友关系。其中我们称出现成员变量、方法参数、方法返回值中的类为直接的朋友,而出现在局部变量中的类不是直接的朋友。即陌生类不要以局部变量的形式出现在类的内部。
七、合成复用原则
尽量使用合成/聚合的方式,而不是使用继承。
标签:依赖,职责,原则,朋友,七大,抽象,设计模式 From: https://www.cnblogs.com/seeksimple/p/17912890.html