设计模式存在的意义及设计要素
(意义)举个栗子:
设计模式的引入来源于建筑学 ,如同上图一样,有了设计模式 就仿佛你建房子的地基非常的牢固,结构非常有层次性,你就可以盖成高楼大厦,反之如果你的项目结构混乱,你就盖成了右图这副模样,外观丑陋, 地基不牢的房子。
软件设计模式使得软件设计变得更加规范、标准、更具灵魂,使程序具有更好的代码重用性、可读性、可扩展性、可靠性、高内聚低耦合等等;同时可以使后来者复用解决方案,借鉴前人总结的经验、这样就可以最大程度的避免无意义的重复造轮子,从而提高我们的开发效率。
设计模式同时让你和其他开发人员之间有共享的词汇,使得设计人员可以在模式层面而不是琐碎的对象层面上思考,提升了我们关于架构的思考层次,设计模式为其建立了通用术语。
软件设计模式的重要性不亚于数据结构与算法,三者息息相关。
设计要素
项目 | 描述 |
---|---|
名称 | 每个模式都有一个独一无二的名称,以便人们鉴别 |
意图 | 模式的目的 |
问题 | 模式试图解决的问题 |
解决方案 | 对于自己出现的场景中的问题,模式怎样提供一个解决方案 |
参与者和协作者 | 模式包括的实体 |
效果 | 使用模式的效果。使用模式的同时研究其约束 |
实现 | 怎样实现模式(实现只是模式的具体表现形式,而不能像模式本身那样被分析) |
总结
设计模式是具体环境下某一类问题一套行之有效的解决方案,是一套理论,它不是具体的代码,是看不见摸不着的,只能具体情况具体讨论,这就好比在进行程序设计时,我们先讨论的是整体架构、整体轮廓而不是具体实现细节一样。
引自:
为什么要引入模式概念来设计软件
部分内容来源网络,如有侵犯到您的权益请联系作者进行修改