设计模式
markapril
这个作者很懒,什么都没留下…
展开
-
设计模式:模板方法模式
在基类的方法A中调用一些由子类去实现的方法,这些方法会由子类去根据需要自己实现,但不影响A的执行,因为A是一个通用的方法。原创 2011-06-25 23:48:00 · 210 阅读 · 0 评论 -
设计模式:策略模式 strategy pattern
把用户和用户的行为分开,定义用户接口和行为接口,用户类里包含了行为接口的属性,在用户类里通过setBehavior()动态的设置行为,行为接口有统一的调用方法,用户只要调用这个方法即可,不需知道方法的具体实现。策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,使用者可以以相同的方式调用算法。原创 2011-06-22 01:07:00 · 229 阅读 · 0 评论 -
设计模式:观察者模式
有被观察者和观察者,被观察者提供注册函数,由观察者调用此函数将自己添加到被观察者的通知名单里,每当有事情需要通知,被观察者就遍历名单,调用被观察者统一的行为方法,可以通过此方法将数据发送给被观察者。或者把自身对象传送给此方法,有观察者自己调用被观察者提供的get函数获取数据,执行行为。原创 2011-06-22 01:13:00 · 195 阅读 · 0 评论 -
设计模式:装饰者模式
将组件和装饰者分离,但他们都继承自同一个接口,有同样的方法,比如cost()。在装饰者类中,含有一个组件实例,装饰者可以在自己的cost()中,通过实例获取组件的cose()返回数据,再加上自己的处理,返回新的数据。原创 2011-06-22 01:19:00 · 171 阅读 · 0 评论 -
设计模式:装饰者模式
将组件和装饰者分离,但他们都继承自同一个接口,有同样的方法,比如cost()。在装饰者类中,含有一个组件实例,装饰者可以在自己的cost()中,通过实例获取组件的cose()返回数据,再加上自己的处理,返回新的数据。原创 2011-06-22 01:19:00 · 206 阅读 · 0 评论 -
设计模式:抽象工厂模式
生产不同的pizza需要不同的原料,但是有共同的烘烤方法。将pizza原料定义为一个接口,用不同的原料工厂来实现这个接口。在创建不同pizza时,把对应的原料工厂作为参数给createPizza(), 函数里会调用原料工厂的方法得到不同的原料,再进行烘烤。原创 2011-06-23 19:41:00 · 187 阅读 · 0 评论 -
设计模式:命令模式
将命令做为接口,接口有一个方法execute(), 将命令发送给触发命令着,它只要调用execute()就可以了。原创 2011-06-25 23:16:00 · 158 阅读 · 0 评论 -
设计模式:单件模式
将构造函数设置为private,提供一个static方法来返回唯一的instance. 要注意多个对象及线程对用一个对象的读写。原创 2011-06-25 23:01:00 · 169 阅读 · 0 评论 -
设计模式:适配器模式
如果要将A接口转换为B接口,就创建一个类C来实现B,把A作为参数传给C。原创 2011-06-25 23:40:00 · 191 阅读 · 0 评论 -
设计模式:命令模式
分离出命令对象和执行命令的对象。不同的命令对象有不同的命令要执行,将这些命令封装在一个接口Command中,并且只提供一个execute()方法,在execute()中各个对象去做不同的事情。将命令对象发送给执行命令对象,执行者不需要知道具体是什么命令,只需要调用execute()就可以执行命令了。原创 2011-06-25 11:11:00 · 154 阅读 · 0 评论