定义:
设计模式就是对特定问题的优秀的解决方案。
设计模式使得我们的代码可以重用,易于修改和扩展。
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
设计模式是一组解决方案的标准的术语,方便开发人员之间沟通交流。
设计模式的分类
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.单一职责原则
一个类只做一件事。