设计模式分类和六大原则

设计模式可以分为创建型、结构型和行为型。

1、创建型
对类的现实化进行了抽象,能够使软件模块做到与对象的创建和组织无关。

功能:类的创建

创建型: 单例模式抽象工厂模式建造者模式工厂模式原型模式

2、结构型
描述类和对象之间如何进行有效的组织,以形成良好的软件体系结构,主要的方式是使用继承关系来组织各个类。

功能: 组合代替、类与类之间的关系

结构型: 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式

3、行为型
描述 类和对象之间如何交互以及如何分配职责

功能:关注对象与行为的分离、就是要把行为分离到类里面

行为型: 观察者模式、中介者模式、状态模式、解释器模式、策略模式、职责链模式、访问者模式、迭代器模式、命令模式、迭代器模式、备忘录模式

设计模式的六大原则

1、开闭原则(Open Close Principle):对扩展开放对修改关闭

2、里氏代换原则(Liskov Substitution Principle):父类出现的地方,子类也可出现

3、依赖倒转原则(Dependence Inversion Principle):高层类,不直接对底层模块类进行使用,而是使用相应的接口或抽象类,让底层向上转型

4、接口隔离原则(Interface Segregation Principle):拆分臃肿的接口,让相应的依赖类只实现其真正需要实现的方法

5、迪米特法则(最少知道原则)(Demeter Principle):最少知道原则。一个实体应当尽量少的与其他实体之间发生相互作用

6、合成复用原则(Composite Reuse Principle):尽量使用合成/聚合的方式,而不是使用继承。

7、单一职责原则(SIngle Responsibility Priciple):该类的职责是唯一的,且这个职责是唯一引起其他类变化的原因