大家好,我是小船同学!一起学习23种经典的设计模式!
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使得代码趋向工程化,是软件工程的基石。
设计模式与框架的关系
框架通常定义了应用体系的整体结构 、类和对象的关系等等设计参数,以便于具体应用实现者能集中精力于应用本身的特定细节。框架主要记录软件应用中共同的设计决策,框架强调设计复用,因此框架设计中必然要使用设计模式。
由于框架中使用了大量的、多种的设计模式,熟练掌握设计模式,有利于理解框架设计,有利于框架源码阅读。
设计模式的四个基本要素
- 模式名:一个名称,用来描述模式的问题、解决方案和实现的效果。一个好的模式名能协助思考、交流和结果分享。
- 问题:描述了应该在何时使用模式,解释了设计问题以及问题存在的背景。
- 解决方案:描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式。
- 效果:描述了模式应用的效果及使用模式应权衡的问题。尽管我们描述设计决策时,并不总提到模式效果,但它们对于评价设计选择和理解使用模式的代价及好处具有重要意义。软件效果大多关注对时间和空间的衡量,它们也表述了语言和实现问题。因为复用是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性或可移植性的影响,显式地列出这些效果对理解和评价这些模式很有帮助。