一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第3天,点击查看活动详情。
设计模式有二十三种,按不同类型划分如下:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式
结构型模式,共七种:适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
设计模式六大原则
总原则开闭原则
对扩展开放,对修改封闭。即在程序开发中尽量不要去修改原有代码,而是对原有代码进行扩展。总体使程序扩展性好,易于维护和升级。
单一原则
(Single Responsibility Principle)
一个类或者一个方法只负责一项职责,即类要尽量简单;
里氏替换原则
(LSP liskov substitution principle)
可以用子类替换基类。即子类可以扩展父类的功能,但不能改变原有父类的功能;
依赖倒置原则
(dependence inversion principle):
面向接口编程,依赖于抽象而不依赖于具体。
即变量或者传参数,尽量使用抽象类,或者接口;
接口隔离原则
(interface segregation principle):
建立单一接口。每个接口中不存在子类用不到却必须实现的方法,如果不然,就要将接口拆分。
迪米特原则
(law of demeter LOD):
最少知道原则,尽量降低类与类之间的耦合;
一个对象应该对其他对象有最少的了解
合成复用原则
(Composite Reuse Principle)
尽量首先使用合成/聚合的方式,而不是使用继承。
设计原则中不尽完全去实现,总体上面向接口编程
,对扩展开放,对修改封闭
是基本思想,一些设计模式也体现了基本的设计原则。