之前对Java设计模式系统学了下,但并没有彻底的整理和代码实现,计划最近业余抽空整理一波理论和代码,加强下理解;
设计模式的重要性不言而喻,代码的扩展性、复用性、健壮性等等,都需要用到设计模式的思想,也就是说要想写出优雅的代码,要有设计模式的思想。很多框架的实现都基于设计模式思想,学习设计模式对阅读框架源码也很有帮助;
设计七原则:
- 单一职责原则。对类来说,即一个类应该只负责一项职责。
- 开闭原则。对扩展开放,对修改关闭。在程序需要进行扩展的时候,不能去修改原有代码,使用接口和抽象类实现一个热插拔的效果。
- 里氏替换原则。任何基类可以出现的地方,子类一定可以出现。实现抽象的规范,实现子父类相互替换。
- 依赖倒置原则。针对接口编程,依赖于抽象而不依赖于具体。
- 接口隔离原则。降低耦合度,接口单独设计,相互隔离。
- 迪米特法则(最少知道原则)。一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立。
- 合成复用原则。尽量使用聚合、组合的方式,而不是使用继承。
之前学习整理的脑图: