首页 > 其他 > 详细

设计模式概述

时间:2020-03-13 21:25:46      阅读:58      评论:0      收藏:0      [点我收藏+]

1,设计模式的诞生与发展

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

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

在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 的书,该书首次提到了软件开发中设计模式的概念。四位作者合称 GOF(四人帮,全拼 Gang of Four)。他们所提出的设计模式主要是基于以下的面向对象设计原则

2,设计模式的定义

设计模式代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。

3,分类

设计模式总体来说分为三大类:

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。


4,设计模式的作用

有软件开发经验的朋友应该有这样的体会:构建一个优秀的系统最困难之处不在于编码,而是在早期做出的设计上的决定。设计是软件开发生命周期中的关键阶段,好的设计能产生好的产品,而不当的设计则会影响最终产品的质量。设计的重要性已经深入人心,这从人们热烈讨论和研究设计模式就能看出来。设计模式是拥有多年开发设计经验的人给我们的经验传承,它是作为专家的建议而引入的,它背后的真正威力是其对真实世界的抽象。如果我们没有足够的经验,我们很难做出好的设计,但是富有经验的开发者和设计者以设计模式的形式将他们的经验传授给我们,拥有了这些经验之后,我们也能做出好的设计来了。不仅如此,设计模式还提高了我们软件复用的水平,从而提高了生产效率。

 

文章参考链接:1,https://blog.csdn.net/u012869196/article/details/73616182

       2,https://www.runoob.com/design-pattern/design-pattern-intro.html

https://blog.csdn.net/u012869196/article/details/73616182?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158410281319724835850329%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158410281319724835850329&biz_id=0&utm_source=distribute.pc_search_result.none-task

设计模式概述

原文:https://www.cnblogs.com/swpudengyuheng/p/12488941.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!