设计模式可以分为创建型、结构型和行为型。
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):该类的职责是唯一的,且这个职责是唯一引起其他类变化的原因