设计模式——宏观总结

宏观导图:

导图思路:整体看来,这张图颇像一个长着长脖子的小菜鸟!哈,就算是我把!从四个角度来总结,分别是:设计模式的产生、是什么、做什么、怎么做

细节展示:

一、由来:

何为模式?答:模式是在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案。模式一词源自建筑工程领域。

软件模式:不仅仅包括设计模式,还有架构、分析、过程等模式!其目的是:用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟。

二、什么是设计模式

指导思想:站在巨人的肩膀上

定义:是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

共分为三大类::创建型、结构型、行为性(详见下图:catched from the internet )

那么多模式???怎么记得住?一看就蒙了!!!其实,首先,筒子们!记是记不住的!但是,我有办法让你忘不掉!哈哈,怎么做到呢?山人自有妙计!不过,这也只是我自己的逻辑,对于正在阅读本博客的同志们是否能起作用,我不敢做保证!因为每个人思考问题的方式不一样,逻辑也不一样。下面看我怎么给这些模式撒上魔术粉……让他们之间产生磁力。

六个创建型:工厂三兄弟根据原型建造单例。

七个结构型:适配器先生结(桥接)合(组合)外观、装饰两位小姐共享(享元)代理。

11个行为型:……?????……

至于行为型的就留给大家作为一个课后思考题吧!哈哈……

其实,把这些模式记下来,并没有什么意思!关键是要会用!(但不是滥用!滥用设计模式,还不如不用设计模式!)。学习设计模式的最高境界是:手中无剑、心中亦无剑!不过,想要做高手,还得从基础练起!

三、指导原则

面向对象设计原则为支持可维护性、复用性而诞生,这些原则蕴含在很多设计模式中,它们是从许多设计方案中总结出的指导性原则。这些原则也是我们评价一个模式好坏的重要指标。参见下图:(catched
from the internet)

小结:设计模式,有人说是高深莫测!而且,不仅仅是Gof所总结的这简单的23中模式!还有很多的模式,没有提及!随着我们软件领域问题的深入和复杂性的增加,新的模式也是将不断的应运而生!面对这些变化莫测的模式,你怕了吗?不管你怕不怕,反正,我不怕!在我看来,不管多高深多难,她们也都源自生活,我们天天和这些模式打交道!都是老熟人了,只不过换了件衣服而已,有什么好怕的啊!

Ps:特别鸣谢中南大学的刘伟老师,给我在设计模式的学习上启发不少!

刘伟老师的CSDN博客链接:http://blog.csdn.net/lovelion/article/details/17517213

时间: 2024-10-09 19:44:39

设计模式——宏观总结的相关文章

大话设计模式宏观把控

大话设计模式是我们现在学习的一个重头戏--本来看完C#视频之后,什么都不懂,但看了设计模式书的附录之后,真的感觉瞬间柳暗花明的赶脚呀!现在让我们先来全局的看一下这本书-- 本书通过一些幽默的小例子,以大鸟和小菜对话的方式,主要讲了模式和原则,不得不用一句俗语说:真是生动形象呀! 我把这些模式根据其特点,分成了创建型模式.结构型模式和行为型模式. 模式: 1.策略模式(Strategy):义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户.(商场打折促

【设计模式】对六大原则的宏观把控和微观细化

一天之前,终于将设计模式的第二遍看完了..在这两遍中,我又学到了很多知识.在之前看OOTV设计大赛时,总是提到面向对象设计的原则,这让我不明所以,直到看完整本书之后,才知道书中自有黄金屋..这篇文章主要写的就是面向对象设计的六大原则. 根据上图,我们可以轻松地得出,面向对象设计是以高内聚.低耦合为设计核心,抽象为基础,封装.继承和多态为特点.综合面向对象的原则.基础和特点,我们总结出了它的六大原则.通过这六大原则,我们还可以演化出多种设计模式..下面就写一下我对这六大原则的理解..      依

设计模式汇总

漫漫人生路,大千世界你我都愿意跟有原则的人共事,每个有原则的人做事都有自己的模式.代码如人生,我们上篇文章系统的讲解了设计原则,现在怎样把这些原则渗透到设计模式中. 考虑到人的大脑对于处理3以内的数字很擅长,并且最大不能超过5.本着"全心全意为人民服务"的理念,我将23个设计模式总结整理到如下的一张图: 首先,从宏观讲为了更好地创建一个类,创建型设计模式应运而生.在创建的过程中必须要考虑到其中的结构,于是相应有了结构型设计模式.从微观,为了更好把握对象间微观行为之间的方法,有了行为型设

软考总结— 设计模式之状态模式

软考在即,针对下午题的设计模式,本人有觉得有必要从考试战略上稍微做一些总结.为什么呢?一方面设计模式只要掌握好做题技巧,还是比较好拿分的.另一方面,通过这次软考又进一步的学习设计模式,而且在题目中给出的设计模式都是在项目中很好的应用. 一开始做题,没有全局观.俗话说的好"不谋全局者不足谋一域",不管做什么事,先在战略方向上把握好了,采取什么样的战术,都不成什么问题了.所以考试也是一样.下面这道题就很典型:   [题目] 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,

设计模式大总结(二)

上篇博客给大家介绍了六大原则和设计模式之间的关系,以及创建型模式和结构型模式 (http://blog.csdn.net/zhangzijiejiayou/article/details/32712779).本文将给大家介绍行为型模式. 行为型模式 是对在不同的对象之间划分职责和算法的抽象化. 观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到 通知并被自动更新. 优点:在解耦合,让耦合的双方都依赖于抽象的接口而不是具体,从而使各自的变化都不会影响

二级C++:宏观把控

首次C++考试有感:                   考前:都云本人痴:                   考中:满纸荒唐言:                   考完:一把辛酸泪:                   考后:谁知其中悔.     唉!咱们就当没这么回事吧!!!     上次不听指挥,考前突击,撞了南墙,这次该回头了!于是第一阶段就跟着大部队走:将书溜了一遍,首先来个总的思维导图宏观把控一下...                                       

一口一个设计模式--简单工厂VS工厂VS抽象工厂

前几天一直在准备大学毕业,始终脱不开身,今天终于有时间进行设计模式的研究.咱们今天研究的话题是工厂家族三种设计模式的对比--简单工厂VS工厂VS抽象工厂. 经过细心推敲,我们不难得出:工厂模式是简单工厂的升级版,抽象工厂是工厂模式的升级版,简单工厂+抽象工厂是抽象工厂的升级版.知道了它们之间的宏观关系,下面我带它们从一次次蜕变了解它们为什么是这样的关系. 我们最原始的代码思维是把所有的实现都放在一个类中,功能虽然是实现了,但耦合性非常高,很不方便维护,好比活字印刷术之前的印刷,一个地方需要修改,

设计模式基础

设计模式是一套被重复使用.大多数人知晓的,代码设计经验的总结,使用设计模式能提高代码重用性,可理解性和代码的可靠性.就好比大厦的设计结构一般. 在学习设计模式前我们必需要了解一些面向对象编程的基础知识,必须从宏观上学习设计模式的用途.以及对我们编程的便利性. [面向对象] 在不同的学习阶段对面向对象有不一样的了解,此时我所理解的面向对象是把现实事物抽象为对象,我们的编程以对象为单位,这样我们对事物的理解会进一步加深,更easy接受和设计. 对象是自包括的实体,它包括属性和方法.类是具有同样属性和

GoF23种设计模式之己见

一.前言 首先要说的就是设计模式的定义,我记得这是上学期<软件设计模式>考试中的第一道名词解释题,当时为了应付考试而背得滚瓜烂熟,可是这个学期一转眼就忘记了.软件模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性.这是上学期<软件设计模式>课程教材里的定义,精炼简洁的高度概括了软件设计模式的内涵和作用.我们这个学期主要学习软件体系结构,提到的最多的概念就是软件架构,可以说软件设计模式和软件架构