设计模式共三大类型,共23种
创建型:和对象的创建有关,涉及到对象实例化的方式
单例模式
简单工厂模式
工厂模式
抽象工厂
建造者模式
原型模式
结构型:如何组合类和对象以获得更大的结构
代理模式
装饰模式
适配器模式
组合模式
桥接模式
外观模式
享元模式
行为型:用来对类和对象怎么交互和怎么分配职责进行描述
模板模式
命令模式
责任链模式
策略模式
中介者模式
观察者模式
备忘录模式
访问者模式
状态模式
解释模式
迭代器模式
基本原则:
最终目的:高内聚,低耦合(内聚性:内连接,模块功能的强弱;耦合性:间连接,各模块之间的联系)
1.开放封闭原则
增加功能时不修改源代码(封闭),,通过增加代码增加功能(开放)
2.依赖倒置原则
依赖抽象的接口,不要依赖具体的类,即依赖接口的编程
3.迪米特原则
一个对象应当对其他对象尽可能少的了解,从而降低个模块间的耦合性,提高系统的可维护性.
例如在一个程序中,各个模块相互调用,通常会提供一个接口来实现,这样其他模块就不需要了解另一个模块的具体实现,
这样一个模块的内部发生改变并不会影响其他模块的使用(黑盒原理)
4.单一职责原则
类的职责要单一,对外之提供一种功能
5.接口隔离原则
一个接口只提供一种功能,不应该把所有功能封装到一个接口去
6.里氏替代原则
任何抽象类出现的地方都可以用它的是实现类进行替换
7.优先使用组合而不是继承原则
如何使用继承,父类的任何变化都会影响子类的行为
如果使用组合,就降低了这种关系