
设计模式
扫地僧G
这个作者很懒,什么都没留下…
展开
-
Builder(生成器)模式
//daixu原创 2012-11-28 11:11:00 · 124 阅读 · 0 评论 -
Interpreter(解释器)模式
一、解释器模式简介(Brief Introduction)解释器模式(Interpreter Pattern),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。使用了解释器模式,可以很容易地改变和扩展文法,因为该模式使用类来表示文法规则,可以使用继承来改变或扩展该文法。也比较容易实现文法,因为定义抽象语法树中各个节点的类的实现大体类似,这些类容易原创 2012-12-10 16:36:12 · 482 阅读 · 0 评论 -
Iterator(迭代器)模式
一、迭代器模式简介(Brief Introduction)迭代器模式(Iterator Pattern),提供一种方法顺序访问一个聚合对象中元素,而不暴露改集合对象的内部表示二、解决的问题(What To Solve)当需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,应该考虑用迭代器模式;当需要对聚集有多种方式遍历时,可以考虑使用迭代器模式三、迭代器模式分析(Anal原创 2012-12-10 17:02:31 · 450 阅读 · 0 评论 -
Command(命令)模式
一、命令模式简介(Brief Introduction) 命令模式(Command Pattern)将请求封装为一个对象,从而使你用不同的请求对客户进行参数化,对请求排队或纪录请求日志,以及支持可撤销的操作。二、解决的问题(What To Solve) 当需要有撤销或者恢复操作时,可以考虑使用命令模式。三、命令模式分析(Analysis)Command原创 2012-12-04 21:52:54 · 448 阅读 · 0 评论 -
Chain Of Responsibility(职责链)模式
一、职责链简介(Brief Introduction) 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一个链,并沿着这条链传递该请求,直到有一个对象处理它为止二、解决的问题(What To Solve) 客户端发出一个请求,会有很多对象都可以来处理这个请求,而且不同的对象的处理逻辑不一样,对于客户端而言,无所谓谁来处理,反正有对象处原创 2012-12-03 22:46:40 · 374 阅读 · 0 评论 -
Flyweight(享元)模式
一、享元模式简介(Brief Introduction)享元模式(Flyweight Pattern),运用共享技术有效支持大量细粒度的对象。 享元模式可以避免大量非常相似类的开销。在程序设计中有时需要生成大量细粒度的类实例来表示数据。如果发现这些实例除了几个参数外基本伤都是相同的,有时就能够受大幅度第减少需要实例化的类的数量。如果能把这些参数移到类实例外面,在方法调用时将他们原创 2012-12-01 12:47:14 · 399 阅读 · 0 评论 -
Proxy(代理)模式
一、代理模式简介(Brief Introduction)代理模式(Proxy Pattern)对其他对象提供一种代理以控制对这个对象的访问。二、解决的问题(What To Solve)1、远程代理 远程代理,也就是为了一个对象在不同的地址空间提供局部代表。这样可隐藏一个对象存在与不同地质空间的事实,隐藏对象所在的地址空间。2、虚拟代理 虚拟代理,是根原创 2012-12-01 15:17:40 · 423 阅读 · 0 评论 -
Decorator(装饰者)模式
一、装饰模式简介(Brief Introduction)动态地给一个对象添加一些额外的职责。优点:把类中的装饰功能从类中搬移出去,这样可以简化原有的类。有效地把类的核心功能和装饰功能区分开了。二、角色解析Component:组件对象的接口,可以给这些对象动态的添加职责ConcreteComponent:具体的组件对象,实现组件对象接口,通常是被装饰器装饰的原始对象,也就是可原创 2012-11-30 16:57:45 · 411 阅读 · 0 评论 -
Composite(组合)模式
一、组合模式简介(Brief Introduction)组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。二、解决的问题(What To Solve)解决整合与部分可以被一致对待问题。三、代码解释Component:抽象的组件对象,为组合中的对象声明接口,让客户端可以通过这个接口来访问和管理整个对象结构,可以在里原创 2012-11-30 16:50:17 · 394 阅读 · 0 评论 -
Abstract Factory模式
下面是简单工厂模式一、简单工厂模式简介(Bref Introduction) 简单工厂模式(Simple Factory Pattern)的优点是,工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖二、解决的问题(What To Solve) 客户实例化对象时不需要关心该对象是由哪个子类实例化的。原创 2012-11-28 11:09:53 · 645 阅读 · 0 评论 -
Bridge(桥接)模式
一、桥接模式简介(Brief Introduction) 桥接模式(Bridge Pattern),将抽象部分与它的实现部分分离,使的抽象和实现都可以独立地变化。二、类说明Abstraction:抽象部分的接口,通常在这个对象中,要维护一个实现部分的对象引用,抽象对象里面的方法,需要调用实现的部分的对象来完成。这个对象中的方法,通常都是和具体的业务相关的方法Refined原创 2012-11-28 16:51:42 · 473 阅读 · 0 评论 -
Singleton(单例)模式
一、单例模式简介(Bref Introduction) 单例模式(Singleton Pattern),保证一个类只有一个实例,并提供一个访问它的全局访问点。单例模式因为Singleton封装它的唯一实例,它就可以严格地控制客户怎样访问它以及何时访问它。二、单例模式在第一次用到的时候初始化1、Singletonclass ImplFactory{public:原创 2012-11-28 11:13:10 · 361 阅读 · 0 评论 -
Adapter(适配器)模式
一、适配器模式简介(Brief Introduction)适配器模式,将一个类装换成客户期望的另外一个接口。Adapter模式使的原本由于接口不兼容而不能工作的那些类可以一起工作。二、解决的问题(What To Solve)1、使用第三方组件,而这个组件的接口与目前系统接口不兼容(如方法与系统方法不一致等),可以使用适配器模式解决接口不兼容问题。2、使用早前项目一些有用的类,可以用原创 2012-11-28 12:10:34 · 344 阅读 · 0 评论 -
Prototype(原型)模式
//待续原创 2012-11-28 11:12:29 · 380 阅读 · 0 评论 -
Factory Method(工厂方法)模式
//待续原创 2012-11-28 11:11:42 · 151 阅读 · 0 评论 -
Mediator(中介者)模式
一、中介者模式简介(Brief Introduction)中介者模式(Mediator Pattern),定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互中介者减少了各个同事对象的耦合,使得可以独立地改变和复用各个同事对象和中介者类;由于把对想如何协作进行了抽象,将中介作为一个独立的概念并将其封装在一个对象原创 2012-12-12 20:39:42 · 479 阅读 · 0 评论