设计原则:
1,开闭原则:对扩展开放,对修改关闭
2,单一职责:一个类只负责一项职责
3,里氏替换原则:任何基类可以出现的地方,子类一定可以出现。子类可以扩展父类的功能,但不能改变父类原有的功能。
4,依赖倒置原则:要依赖于抽象,不要依赖于具体。要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合
5,接口隔离原则:其原则字面的意思是:使用多个隔离的接口,比使用单个接口要好。本意降低类之间的耦合度,而设计模式就是一个软件的设计思想,
从大型软件架构出发,为了升级和维护方便。所以上文中多次出现:降低依赖,降低耦合。原定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。
6,迪米特法则(最少知道原则):通俗的来讲,就是一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类来说,无论逻辑多么复杂,都尽量地的将逻辑封装在类的内部,对外除了提供的public方法,不对外泄漏任何信息
7,合成复用原则:合成复用原则是指:尽量使用合成/聚合的方式,而不是使用继承。
23种设计模式
1,创建型模式:
- 单例模式
- 工厂方法模式
- 抽象工厂模式
- 建造者模式
- 原型模式
2,结构型模式:
- 适配器模式
- 桥接模式
- 组合模式
- 装饰模式
- 外观模式
- 亨元模式
- 代理模式
3,行为型模式:
- 访问者模式
- 模板模式
- 策略模式
- 状态模式
- 观察者模式
- 备忘录模式
- 中介者模式
- 迭代器模式
- 解释器模式
- 命令模式
- 责任链模式
- 过滤器模式(Filter、Criteria Pattern) 结构型模式
- 空对象模式(Null Object Pattern) 行为型模式