设计模式六大原则

75 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第3天,点击查看活动详情

设计模式有二十三种,按不同类型划分如下:

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式

结构型模式,共七种:适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

设计模式六大原则

总原则开闭原则

对扩展开放,对修改封闭。即在程序开发中尽量不要去修改原有代码,而是对原有代码进行扩展。总体使程序扩展性好,易于维护和升级。

单一原则

(Single Responsibility Principle)

一个类或者一个方法只负责一项职责,即类要尽量简单;

里氏替换原则

(LSP liskov substitution principle)

可以用子类替换基类。即子类可以扩展父类的功能,但不能改变原有父类的功能;

依赖倒置原则

(dependence inversion principle):

面向接口编程,依赖于抽象而不依赖于具体。

即变量或者传参数,尽量使用抽象类,或者接口;

接口隔离原则

(interface segregation principle):

建立单一接口。每个接口中不存在子类用不到却必须实现的方法,如果不然,就要将接口拆分。

迪米特原则

(law of demeter LOD):

最少知道原则,尽量降低类与类之间的耦合;

一个对象应该对其他对象有最少的了解

合成复用原则

(Composite Reuse Principle)

尽量首先使用合成/聚合的方式,而不是使用继承。

设计原则中不尽完全去实现,总体上面向接口编程对扩展开放,对修改封闭是基本思想,一些设计模式也体现了基本的设计原则。