1.什么是设计模式
- 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。
- 目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。-摘自《百度百科》
2.为什么要学设计模式
- 笔者最近看jdk源码,看到庞大的类继承关系,第一反应就是头大。不经意笔者看到了《Head First设计模式 》,通过了解各种设计模式,以前繁杂的类的关系突然变得有迹可循,随之暂停了源码初探之旅,开始学习设计模式并记录心得。
- 设计模式的共享词汇减少沟通成本,就像我会说西红柿,你说番茄。
- 设计模式描述在什么环境下,出现什么特定的问题,指导我们如何高效如何解决问题,以及应用模式后的效果和可能带来的问题。
- 代码就可以达到了代码复用、增加可维护性的目的,从而增加重用性,易于修改,后期可扩展。
3.设计模式的原则(总结自《Head First设计模式 》)
- 1 封装变化。
2.多用组合少用继承。
3 针对接口编程,不针对实现编程。
4为交互对象之间的松耦合设计而努力。
5类应该对扩展开放,对修改关闭。
6依赖抽象,不要依赖具体类。
7 类应该只有一个改变的理由。
8一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。
4. 常见的设计模式
更多介绍请参考:设计模式总结