设计模式宏观概述(一)

【设计模式的起源】        

       通过这两天第一遍看大话设计模式就可以体会到它是一本包含精华中的精华的书籍,我们常说站在巨人的肩膀上,而这本书中所含的内容就是这些巨人总结出来的经验。看完后深感非常震惊,更令我震惊的是他的起源竟不是软件业,而是建筑业,20世纪70年代,Christopher Alexander研究了为解决同一个问题而设计出的不同建筑结构。发现了那些高质量的设计中的相似性。用”模式语言“来指代这种相似性。由Alexander发现并记录的这些模式仅仅是设计诸如建筑物、花园和道路之类的建筑学方面的模式,Alexander博士主要从三个方面来描述:Context(模式可适用的前提条件)、Theme或Problem(在特定条件下要解决的目标问题)、Solution(对目标问题求解过程中各种物理关系的记述)。后来Alexander博士在建筑业的重大突破引起了软件业的关注,GOF(四人组, 分别是Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides )归纳发表了23种设计模式。

设计模式宏观概述(一)_第1张图片

【模式的定义】

       Alexander给出了关于模式的定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的解决方案,无需再重复相同的工作。简单的说:A pattern is a solution to a problem in a context。

【设计模式是什么】

       软件模式是对软件开发这一特定”问题“的”解法“的某种统一表示,软件模式的基础结构有四部分构成:问题描述、前提条件(环境或约束条件)、解法和效果。设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。设计模式四大要素:模式名称(Pattern name)、问题(Problem)、解决方案(Solution)、效果(Consequences)。

【设计模式的用途】

       设计模式旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟。在编程的过程中我们会出现经常出现的问题,如果每次遇到再去找解决方法会很浪费时间,因为设计模式就是一套这样的经验总结的书籍,所以这本书可以大大的节省编程的时间。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

【如何学习】

       在学习每一个设计模式时至少应该掌握如下几点(这是看刘伟老师的CSDN收获的方向):这个设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它;它是如何解决的,掌握它的结构图,记住它的关键代码;能够想到至少两个它的应用实例,一个生活中的,一个软件中的;这个模式的优缺点是什么,在使用时要注意什么。

【总结】

       在学习设计模式的过程中每个例子都要去实现。要去发现每个模式的目的和用法等问题。说它难是因为自己没尝试,相信自己在亲自体验过后会有不一样的感受,自己也不再OUT了!

你可能感兴趣的:(设计模式宏观概述(一))