1.什么是设计模式?
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。
2.使用设计模式的目的:
为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
3. 设计原则
(一) 开闭原则
应对扩展开放,而对修改关闭。
(二) 里氏代换原则
如果调用的是父类的话,那么换成子类也完全可以运行。
(三) 依赖倒转原则
指在软件里面,把父类都替换成它的子类,程序的行为没有变化。
(四) 接口隔离原则
定制服务的例子,每一个接口应该是一种角色,不多不少,不干不该干的事,该干的事都要干。
(五) 迪米特法则
一个对象应对其他对象有尽可能少的了解。
(六) 合成复用原则
在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。
它的设计原则是:要尽量使用合成/聚合,尽量不要使用继承。
4.具体的23种设计模式
设计模式分为三种类型,共23种。
创建型模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式
结构型模式:适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式
行为型模式:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式
还有两类:并发型模式和线程池模式。