来一起手撕设计模式吧
面试题目中经常会出现设计模式,为了能够更好的理解设计模式,从而我创建了这个仓库,可以在这里手撕设计模式。
设计模式分为三类
- 创建型模式
- 结构型模式
- 行为模式
创建型模式提供生存环境,结构型模式提供生存理由,行为型模式提供如何生存。
-
创建型模式为其他两种模式使用提供了环境。
-
结构型模式侧重于接口的使用,它做的一切工作都是对象或是类之间的交互,提供一个门。
-
行为型模式顾名思义,侧重于具体行为,所以概念中才会出现职责分配和算法通信等内容。
-
开闭原则:对扩展开放,对修改关闭
-
里氏转换原则: 子类继承父类,单独完全可以运行
-
依赖倒转原则: 引用一个对象,如果这个对象有底层类型,直接引用底层类型
-
接口隔离原则: 每一个接口应该是一种角色
-
合成/聚合复用原则: 新的对象应使用一些已有的对象,使之成为新对象的一部分
-
迪米特原则: 一个对象应对其他对象有尽可能少的了解