架构师之路—理解设计模式

栏目: IT技术 · 发布时间: 5年前

内容简介:在《周期》中作者这样描述过模式:“人类必须生活在现实世界中。我们寻找模式和规律,能够让我们活得更加舒服,也获利更多。”你曾经多少次有过这种感觉—你已经解决过了一个问题,但就是不能确切知道是在什么地方或怎么解决的?如果你能记起以前问题的细节和怎么解决它的,你就可以复用以前的经验而不需要重新发现它。然而,我们并没有很好记录下可供他人使用的软件设计经验。设计模式的目标是将设计经验以人们能够有效利用的形式记录下来。来复用设计经验,很多问题不必要再从头做起。设计模式的起初还是来源于建筑业。设计模式的定义:“每一个模式

在《周期》中作者这样描述过模式:“人类必须生活在现实世界中。我们寻找模式和规律,能够让我们活得更加舒服,也获利更多。”

为什么会有设计模式?

你曾经多少次有过这种感觉—你已经解决过了一个问题,但就是不能确切知道是在什么地方或怎么解决的?如果你能记起以前问题的细节和怎么解决它的,你就可以复用以前的经验而不需要重新发现它。然而,我们并没有很好记录下可供他人使用的软件设计经验。设计模式的目标是将设计经验以人们能够有效利用的形式记录下来。来复用设计经验,很多问题不必要再从头做起。

设计模式的定义

设计模式的起初还是来源于建筑业。设计模式的定义:“每一个模式描述了一个在我们周围不断重复发生的问题, 以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”(这个定义是Christopher Alexander 说的(Christopher Alexander,1936年10月4日生于奥地利维也纳)是加州大学伯克利分校的终身教授和承包商,同时也是建筑师。)尽管Alexander所指的是城市和建筑模式,但同样也适用于面向对向设计模式。最近理解同样也可以用于其他行业的模式,如投资寻找相应的模式和规律进而找到人生获胜的公式。

设计模式的元素

设计模式有四个基本的元素模式名称、问题、解决方案、效果。

1.模式名称:一个助记名,用一两个词来描述问题、解决方案和效果,便于同行间沟通交流。

2.问题:描述问题相关背景和问题的上下文,问题产生的前因后果,有时候描述 设计模式 的先决条件。

3.解决方案:问题解决方案,是设计的组成部分,描述了对象间的各自的关系和职责和协作方式。描述怎样通过一般的元素组合来解决问题的。

4.效果:描述模式应用的效果和使用模式的权衡问题。决策的过程也很重要。这个包含了两个重要的点,模式应用后的效果和选用模式如何去权衡的。、

设计模式的学习和运用

模式就像是一个模板,可以应用于多个场合来形成一种经验。不管是在建筑业,还是IT业,还是其他行业,模式都可以一次又一次去复用,尤其是历经过考验的成功的一些模式。在学习设计模式的过程中,一方面是学习软件行业已有的设计模式,另一方面学习如何记录软件设计或者其他方面的遇到的问题形成自己一个模式库。

我们努力想要看透人生,方法是识别模式,进而找到人生获胜的公式。


以上所述就是小编给大家介绍的《架构师之路—理解设计模式》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

高效前端:Web高效编程与优化实践

高效前端:Web高效编程与优化实践

李银城 著 / 机械工业出版社 / 2018-3-15 / 89.00元

这不是一本单纯讲解前端编程技巧的书,而是一本注重思想提升和内功修炼的书。 全书以问题为导向,精选了前端开发中的34个疑难问题,从分析问题的原因入手,逐步给出解决方案,并分析各种方案的优劣,最后针对每个问题总结出高效编程的最佳实践和各种性能优化的方法。 全书共7章,内容从逻辑上大致可以分为两大类: 第一类,偏向实践,围绕HTML、CSS、JavaScript等传统前端技术,以及PW......一起来看看 《高效前端:Web高效编程与优化实践》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具