1:什么是设计模式
设计模式是无数码农在实际的生产项目中经过不断的踩坑, 爬坑, 填坑之后的经历总结出来的经验教训, 经过系统性的总结所提出的针对某一类问题的最佳解决方案. 能够帮助后来的开发者重复同样的错误或者弯路.设计模式的熟练运用,帮助开发者将变化的部分和不变化的部分分开, 写出更高质量, 更健壮的代码.
2:设计模式的六大原则
- 开闭原则:
模块应尽量在不修改原代码(闭)的情况下进行扩展(开)。即在程序需要进行拓展的时候,不能去修改原有的代码。
- 里氏替换原则:
如果调用的是父类的话,那么换成子类也完全可以运行。 派生类能够在基类的基础上增加新的行为。只有当派生类可以替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用。实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。
- 依赖导致原则:
1:高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象
2:抽象不应该依赖于具体实现,具体实现应该依赖于抽象。要求对抽象/接口进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
- 接口隔离原则:
每一个接口应该是一种角色,不干不该干的事,该干的事都要干。降低类之间的耦合度。
- 合成复用原则:
要尽量使用组合/ 聚合,尽量不要使用继承。只有“Is - A” 关系才符合继承关系,“Has- A” 关系应当使用聚合来描述
- 迪米特原则:
一个对象应对其它对象有尽可能少的了解。即一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立