
设计模式
文章平均质量分 51
zhangqixiang5449
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式-策略模式
策略模式:定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 继承自基类的派生类之间有许多不同的特点,比如鹦鹉继承自鸟类,但是颜色各有不同。可以在基类中定义一个虚函数,每个派生类中分别实现,这种方法使得代码重复,代码量变大,且增加维护成本。 策略模式的方法为定义算法族,算法族继承自算法族基类,对象基类中利用多态性增加指向算法族基类指针。创建不同派生类时,原创 2015-09-14 23:59:51 · 436 阅读 · 0 评论 -
设计模式-观察者模式
观察者模式又称订阅-发布模式。指程序中有一个主题(subject),有若干个观察者(observer);当主题发生变动时,主题将通知订阅了该主题的观察者(调用观察者的updata方法)。程序可在运行时动态的添加或删除观察者。讨论模型: 学校为主题,学生为观察者,学校将向学生发布三个数据。每次数据更新时,注册成为观察者的学生都会收到变化的数据。并可以在运行时,动态的添加删除观察者(学生)。subje原创 2015-09-15 11:08:44 · 303 阅读 · 0 评论 -
设计模式-装饰者模式
装饰者模式:装饰者模式可以在运行事动态的为对象添加功能而不必改变原类文件和使用继承。 具体做法为使用一个基类Base,实现继承自基类的类class1,再实现继承自基类的class2,class2的构造方法中传入Base类型的指针。若将Base*类型指向class1的指针传入class2的构造函数,即可返回一个在class2中添加了某些功能的Base类指针对象。实现层层包围叠加的类(如图)。 讨论原创 2015-09-15 21:51:48 · 246 阅读 · 0 评论 -
设计模式-命令模式
命令模式:把命令、请求封装成对象,以便使用不同的请求队列或日志来参数化其他对象。命令模式也支持可撤销的操作。简单的来说就是把对象之间的通信行为封装成类的模式,封装后可以把发出命令的对象和执行命令的对象解耦。并且把命令实例化后可以撤销,延时,排序等操作。 讨论模型:蝙蝠侠(BatMan)是控制者(controller),他对灯发出命令(command)控制灯的亮和灭;灯Light类:#ifndef原创 2015-09-17 16:09:46 · 350 阅读 · 0 评论 -
设计模式-组合模式
组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。原创 2015-09-22 10:55:43 · 274 阅读 · 0 评论 -
设计模式-适配器模式
适配器模式:将一个类的接口转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。原创 2015-09-21 22:59:01 · 232 阅读 · 0 评论