【设计模式】软件模式起源与诞生

   近日给徒弟验收设计模式,问了我好多问题。。当我听到这些问题的时候,我的脑海中突然想起了当初的我!那时候我也有相似问题,当初对设计模式也是一窍不通(想起米老师的话,人有七窍,通了六窍,所以一窍不通)。现在,随着时间的推移和对知识不断的积累,原来的问题我也有了自己的理解,现在要分享出来!


   起源

   与很多软件工程技术一样,模式起源于建筑领域,软件工程只有短短的几十年,与已经拥有几千年底蕴的建筑工程相比,后者有太多值得学习和借鉴的地方。

   哈佛大学的建筑学博士克里斯托弗.亚历山大,是建筑学领域的模式之父。他与其研究团队用了约20年的时间,对住宅和周边环境进行了大量的调查研究,发现人们对舒适住宅和城市环境存在一些共同的认同规律,将它们归纳成253个模式。对每一个模式都从前提条件、目标问题、 解决方案三个方面进行了描述,并给出了从需求分析到结构设计再到经典实例的过程模型。

   所以,对模式的定义可以抽象为在特定环境下,人们为了解决某类重复出现问题,而总结归纳出来的有效解决方案。


   诞生

   GoF将模式的概念引入软件工程领域,这标志着软件模式的诞生。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上,在软件开发生命周期的每一个阶段都存在着一些被认同的模式。

   软件模式主要由四部分构成,包括待解决问题、约束条件、解决方案、优点。

   软件模式与具体的应用领域无关,也就是说无论从事的是移动开发、桌面开发、Web开发还是嵌入式软件的开发,都可以使用软件模式。

   在软件模式中,设计模式是研究最为深入的分支,它融合了众多专家的设计经验,已经在成千上万的软件中得以应用。 1995年, GoF将收集和整理好的23种设计模式汇编成了一本名叫《设计模式》的书,该书的出版也标志着设计模式正式成为面向对象版软件工程的一个重要研究分支。


   总结

   现在一遇到新的东西就非常渴望刨根问底儿,感觉这样的学习让我更有主动性、积极性和趣味性。

你可能感兴趣的:(※〖设计模式〗)