
设计模式
文章平均质量分 77
gothicane
这个作者很懒,什么都没留下…
展开
-
追MM与设计模式
1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如转载 2006-11-13 13:12:00 · 693 阅读 · 0 评论 -
设计模式简单代码之Decorator模式(小孩吃饭篇)
/**********************************************************************************************************/* 作者:一雨田(http://blog.youkuaiyun.com/dylgsy/)。本文可随便转贴,但请保留此信息** Decorator模式:* 动态地给一个对象添加一些额外的职责。就转载 2006-08-17 08:27:00 · 745 阅读 · 0 评论 -
设计模式简单代码之Iterator模式
Iterator模式,也称为迭代器模式。该模式主要用于将列表的访问和遍历分离出来并放进一个迭代器中。例如STL库的容器就大量的用到Iterator模式。该模式还涉及到一些“内部迭代器”和“外部迭代器”的概念,这属于进一步的研究,暂时不谈。下面看看简单的例子代码(模仿STL的做法):// Iterator.cpp#include iostream>using namespace转载 2006-08-17 08:22:00 · 770 阅读 · 0 评论 -
设计模式简单代码之Chain Of Responsibility 模式(小孩要苹果篇)
/**********************************************************************************************************/* 作者:一雨田(http://blog.youkuaiyun.com/dylgsy/)。本文可随便转贴,但请保留此信息* * Chain Of Responsibility(职责链模式)适转载 2006-08-17 08:25:00 · 621 阅读 · 0 评论 -
设计模式简单代码之Visitor模式
VISITOR模式:将操作独立于类之外,类根据自己需要的操作而接受相应的访问者。这样做的好处是如果需要实现一个新操作,类的结构不用变,特别是整个类层次,如果要变,代价是比较大的。使用Visitor模式就可以保证增加操作非常简单方便,并且符合OCP了。Visitor模式有一个吓人的概念:双分派,其实所谓的双分派也只不过是指:要定义一个操作,需要两个对象来决定, 这两个对象是Element 对转载 2006-08-17 08:24:00 · 691 阅读 · 0 评论 -
设计模式简单代码之Flyweight模式
欢迎转载,请注明出处。[Flyweight模式] 官方描述:意图 运用共享技术有效地支持大量细粒度的对象。适用性 1、一个应用程序使用了大量的对象。 2、完全由于使用大量的对象,造成很大的存储开销。 3、对象的大多数状态都可变为外部状态。 4、如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象。 5、应用程序不依赖于对象标识。由于Flyweight 对象转载 2006-08-17 08:21:00 · 779 阅读 · 0 评论 -
设计模式简单代码之Mediator模式
Mediator:中介者模式,当多个对象彼此间都有联系的时候,我们就可以应用Mediator将对象间的多对多关系转换为一对多的关系,这样做,可以使各个对象间的耦合松散。统一管理对象间的通信协议。但也可能使得Mediator对象成为一个系统中的庞然大物,难以维护。 好,我们现在来看一个实例。下面有三个对象:A,B,C。他们之间的关系是相互的,每个对象都知道其余的两个对象,都可以和其余的对象打转载 2006-08-17 08:18:00 · 962 阅读 · 0 评论 -
设计模式简单代码之Template Method模式(追MM篇)
作者:一雨田(http://blog.youkuaiyun.com/dylgsy/)。本文欢迎转贴,并请保留此信息 Template Method模式:实际上就是把一件事情分成几步来完成。每一步就是一个方法(也叫做原子操作)。也就是说,我把做一件事情规定好了几步(规定了个模版),但每一步里 实际干些什么就由客户去决定了。对应到C++里就是采用虚函数的办法。(所以说虚函数是面向对象里一个非常重要的概念,转载 2006-08-17 08:20:00 · 744 阅读 · 0 评论 -
设计模式简单代码之一
作者:一雨田(http://blog.youkuaiyun.com/dylgsy/)。本文可随便转贴,但请保留此信息 设计模式究竟是什么?其实设计模式也就是一些写代码的方式,主要是针对面向对象的。设计模式通常应用在设计阶段,分析阶段已经对系统分层,然后也对每个层都提取了一些类。这个时候,如何组织和使用这些类就是我们的设计模式要研究的问题了。对于我们程序员来说,千言万语抵不过一句简单的代码。转载 2006-08-17 08:29:00 · 1042 阅读 · 0 评论 -
设计模式简单代码之prototype模式(画圆篇)
/*************************************************************************************************************/* 作者:一雨田(http://blog.youkuaiyun.com/dylgsy/)。本文可随便转贴,但请保留此信息** prototype模式(原型模式),是一个使得新对象不用使用转载 2006-08-17 08:28:00 · 946 阅读 · 0 评论 -
设计模式简单代码之Bridge模式(画圆系统设计篇)
/************************************************************************************************************/* 作者:一雨田(http://blog.youkuaiyun.com/dylgsy/)。本文可随便转贴,但请保留此信息** Bridge模式:将抽象部分与它的实现部分分离,使它们都可以独转载 2006-08-17 08:27:00 · 961 阅读 · 0 评论 -
设计模式简单代码之Proxy模式(买房子篇)
/**********************************************************************************************************/* 作者:一雨田(http://blog.youkuaiyun.com/dylgsy/)。本文可随便转贴,但请保留此信息* Proxy 模式:代理模式,顾名思义就是代我们处理一些事情,我们转载 2006-08-17 08:26:00 · 890 阅读 · 0 评论 -
设计模式简单代码之Facade模式(编译系统篇)
/**********************************************************************************************************/* 作者:一雨田(http://blog.youkuaiyun.com/dylgsy/)。本文可随便转贴,但请保留此信息 * Facade 模式:* 门面模式,为外界提供一个统一的、简转载 2006-08-17 08:26:00 · 871 阅读 · 0 评论 -
设计模式简单代码之Strategy模式
Strategy模式和State模式比较相似,在技术上都使用了委托,但从语义上,State模式把状态作为对象, 描述一个类在运行时的状态变化;Strategy模式则是把一个算法当作一个对象,达到在运行时自由替换算法的目的。他们在结构上的不同在于State模 式通常有一个Context的引用(例如在我的State模式中,Context就是TrafficLight,但我在这个例子里没包含这个引用转载 2006-08-17 08:23:00 · 911 阅读 · 0 评论 -
设计模式简单代码之Command模式(皇帝圣旨篇)
作者:一雨田(http://blog.youkuaiyun.com/dylgsy/)。本文欢迎转贴,并请保留此信息在现实的情况中,有一个实例能非常贴切的描述了Command模式,这就是皇帝和士兵的关系。皇帝作为调用者,士兵 是接收者,试想如果皇帝要下达一个命令给士兵,难道他直接跑到这个士兵的前面向他交代命令的细节,然后,士兵领旨执行吗?对于皇帝来说,这是不可能的,因 为对皇帝来说,他只想完成某个任务,而转载 2006-08-17 08:19:00 · 876 阅读 · 0 评论 -
手机平台的几个基础模型
我们手机平台的几个基础模型 转载时请注明出处:http://blog.youkuaiyun.com/absurd 我们从设计这个手机平台开始,就一直不遗余力的贯彻三个基本设计模型:C/S模型、插件式设计和MVC模型。随着平台的演化,这些模型已经开始显现出威力。这里我们简单介绍一下,欢迎交流。 C/S模型:把多进程共享的功能集中到服务器中。好处是:1. 串行化对临界资转载 2006-12-06 13:25:00 · 757 阅读 · 0 评论 -
MVC设计模式带来更好的软件结构和代码重用
模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。MVC如何工作MVC是一个设计模式,它强制性的使应用程序的输入、处理转载 2006-12-06 13:21:00 · 914 阅读 · 0 评论 -
设计模式简单代码之Composite模式(老师分配任务篇)
/**********************************************************************************************************/* 作者:一雨田(http://blog.youkuaiyun.com/dylgsy/)。本文可随便转贴,但请保留此信息** Composite模式说明:** 将对象以树形结构组织起来,以达成转载 2006-08-17 08:28:00 · 827 阅读 · 0 评论