一、什么是设计模式
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。
- 模式被认为是历经验证的OO设计经验
- 模式不是代码,而是针对设计问题的通用解决方案。你可以把它应用到特定的应用中
- 模式不是被发明,而是被发现
- 大多数模式跟原则,都着眼于软件变化的主题
- 大多数的模式都允许系统局部改变独立于其他部分
- 我们常把系统中会变化的部分抽出来封装
二、为什么要使用设计模式
为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。
- 知道OO基础,并不足以设计出良好的OO系统
- 模式可以让我们建造出具有良好OO设计质量的系统
- 模式让开发人员之间有共享的语言,能够最大化沟通的价值
三、如何使用设计模式
我们先了解一下设计原则
- 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。 --封装变化
- 针对接口编程,而不是针对实现编程。
- 多用组合,少用继承 --合成/聚合复用
- 类应该对拓展开发,对修改变比。 --开闭原则
- 为了交互对象之间的松耦合设计而努力
- 待续…
以上是HeadFirst书中介绍的设计原则,与网上流传的略有不同,但大体相近。具体的设计模式在后续文章中介绍,并且分析模式中使用的设计原则。
四、常用的设计模式
- 企业中常用的有策略模式、建造者模式、观察者模式等,其中观察者模式在mq中间件、redis、微服务中被广泛使用。
- 以下是java类库中常用的设计模式
- 观察者模式 --java.util.Observable、JMI
- 装饰者模式 --java io包
本章作为设计模式学习的开篇,尚有许多不完整的地方,等学习完成之后再进行补充。