设计模式
设计模式的概念最早是由一名建筑师提出来的,他试图在图纸上用一种结构化、可重用化的方法,获得建筑的基本要素,从而可以将更多的精力放在具体建筑物和城镇的设计上。逐渐的,这种思想在软件领域流行起来,并获得发展。
傻丫头与科技
这个作者很懒,什么都没留下…
展开
-
设计模式 之 观察者--委托与事件
观察者模式(Observer) 定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 假设有个高档的热水器,当水温超过95度的时候:一、扬声器会开始发出语音,告诉你水的温度;二、液晶屏也会改变水温的显示,以提示水已经快烧开了。 如果我们原创 2014-11-23 21:19:06 · 1949 阅读 · 14 评论 -
设计模式 之 中介者
中介者模式(Mediator) 用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件。标志是一只戴着红色围巾的小企鹅。QQ注册用户由1999年的2人(马化腾和张志东)到现在已经发展到上原创 2014-10-09 21:33:29 · 2072 阅读 · 16 评论 -
设计模式 之 命令
命令模式(Command): 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持科撤销的操作。 你写过信吗?你去邮局寄过信吗?你写的第一封信是寄给谁的呢?日常生活中的邮局,可能已经成为人们眼中的一道风景线,现在已经很少有人使用信件交流传递感情。然而邮局作为一个发信人和收信人的中转机构,它的作用不容小觑,省原创 2014-10-05 22:58:51 · 1751 阅读 · 13 评论 -
设计模式 之 职责链
职责链模式(Chain of Responsibility) 是多个对象都有机会处理请求,从而避免请求的发送者和原创 2014-09-21 23:35:20 · 1641 阅读 · 21 评论 -
设计模式 之 代理
代理模式(Proxy) 为其他对象提供一种代理以控制对这个对象的访问。 炎炎夏日即将过去,这个夏天的西瓜,你吃爽了吗?如果要问夏天有什么可留恋的?那么肯定是那冰冰凉凉的冰西瓜!炎热的夏季里,抱着半个从冰箱里刚拿出来的冰镇西瓜,用勺子挖着吃,是很多人觉得最惬意的吃法。相信大家也都这么干过... 今天跟大家聊的不是怎么吃西瓜,而是在哪里买西原创 2014-09-13 21:23:28 · 1799 阅读 · 15 评论 -
设计模式 之 享元
享元模式(Flyweight) 运用共享技术有效地支持大量细粒度的对象。 还记得那年夏天一起在作文本上玩过的五子棋吗?五子棋是一种两人对弈的纯策略型棋类游戏,它起源于中国古代的传统黑白棋种之一,不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。原创 2014-08-21 22:04:18 · 2067 阅读 · 12 评论 -
设计模式 之 外观
外观模式(Facade) 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用 咱们暑假学习,好多同学都选择自己做饭吃,今天就来介绍两道具有代表性的大众喜爱的传统菜:红烧排骨、红烧鱼。 红烧排骨和红烧鱼大概的制作步骤都差不多分为四步:准备材料、腌制材料、煎炸、调汁。然后就可以原创 2014-08-12 20:18:31 · 1720 阅读 · 15 评论 -
设计模式 之 装饰者
装饰模式(Deocrator) 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 所谓装饰,就是一些对象给主题对象做陪衬。我们可以想象,在一个公司里面,每个人都有一个办工作,办工作都需要有电脑、电话、文件夹、盆栽、签字笔、公章等作为装饰。但是不同的人的办公桌上的装饰肯定不一样。比如说,老总的办公桌上应该什么都有原创 2014-08-10 22:08:27 · 2012 阅读 · 9 评论 -
设计模式 之 组合
组合模式(Composite) 将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 在我们提高班,有这样的一个组织,它不属于具体的哪一期,只属于整个提高班,那就是我们的机房管理委员会。无可非议的是不管是哪个部门,大Boss都是我们尊敬的米老师。在这里我只表现出了我们每一期的分工原创 2014-08-03 21:55:24 · 2043 阅读 · 10 评论 -
设计模式 之 桥接
桥接模式(Bridge Pattern) 也称为桥梁模式。将抽象部分与它的实现部分分离,使它们都可以独立地变化。 居家生活,大家都用过电灯,开关和电灯通过电线相连接,开关控制电灯的亮与灭。当今各种物质产品令郎满目,五花八门,开关和电灯也是多种多样,例如:开关的种类有按钮式开关,声控式开关、触摸式开关、旋转式开关等。电灯的种类更是层出不穷,如白炽灯、霓原创 2014-07-27 20:44:04 · 1781 阅读 · 15 评论 -
设计模式 之 适配器
适配器模式(Adapter) 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 在我们生活中存在很多适配器的例子,如插座转换器、笔记本电脑电源适配器等。今天,我们就来看一下嘴熟悉的笔记本电源适配器的例子。通常,笔记本电脑需要的电流都是12-20V以内的直流电流,而我们家庭用电通常是220原创 2014-07-20 17:58:14 · 1797 阅读 · 19 评论 -
设计模式 之 单例
单例模式(Singleton Pattern) 保证一个类仅有一个实例,并提供一个访问它的全局访问点。最近一直在用VB.NET重构机房收费系统,在重构中就出现了一个这样的问题: 每点击一次充值的菜单,都会出现原创 2014-07-13 16:54:10 · 2249 阅读 · 29 评论 -
设计模式 之 原型
原型模式(Prototype Pattren) 原型模式用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。考试结束了,学校放假了,我们又进入了全职提高班的学习模式: 6:50——起床(当然,年轻人总是爱睡个懒觉,早上总是赖床,有时也会拖到7:00起床) 7:20——去中门买早餐带到机房 12:原创 2014-07-06 21:10:26 · 1984 阅读 · 17 评论 -
设计模式 之 建造者
建造者模式(Builder Pattern) 一听这个名字,你可能就会猜到一二分了。建造者简单理解就是造东西,只不过建造者模式建造的不是一个简单的东西,是一个比较复杂的东西。就好像盖房子,需要打地基、砌墙、灌水泥、封顶,最后墙面贴瓷砖。 建造者设计模式是一个构造复杂对象的设计模式。在一个软件系统中,可能会面临创建一个复杂对象的工作,如果我们使用单一的方法或者单一的对象来创建会比原创 2014-06-24 15:26:29 · 1962 阅读 · 23 评论 -
设计模式 之 抽象工厂
工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。此时,我们可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生产,这就是我们本文将要学习的抽象工厂模式的基本思想。 Abstract Factory(抽象工厂模式):提供一个创建一系列相关或相互依原创 2014-06-17 07:57:14 · 2910 阅读 · 23 评论 -
设计模式 之 简单工厂与工厂方法
最近开始学习《大话设计模式》,作者以通俗的方式来讲解,还有故事情节,幽默的对白,给人耳目一新的感觉。非常喜欢作者的这种步步深入,循循善诱的方式。学习了就要总结,总结的时候自己也学着作者的方式,以自己生活中的小例子来实现我们的设计模式。下面就开始我们的第一讲《简单工厂和工厂方法》。 前两天带着一个老乡去吃饭,当然,作为一个四川人,去外边吃饭当然是点我们著名的川菜!下面先用简单工厂来原创 2014-06-10 10:43:50 · 2651 阅读 · 20 评论 -
设计模式 之 概述
设计模式的概念最早是由一名建筑师提出来的,他试图在图纸上用一种结构化、可重用化的方法,获得建筑的基本要素,从而可以将更多的精力放在具体建筑物和城镇的设计上。逐渐的,这种思想在软件领域流行起来,并获得发展。 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。原创 2014-06-02 15:55:07 · 2040 阅读 · 20 评论