
【技术】设计模式
多则惑少则明
让天下没有难测试的项目。专注于测试开发领域,近9+年的工作实战经验,主攻方向包括:
0-1/中期/成熟类大型/复杂系统的业务测试
自动化测试平台&框架开发;
打造质量体系及沉淀质量方法论
个人邮箱zpphnkjxy@126.com
文章周末定时更新,其余时间不定时更新
展开
-
Bridge模式/ Pimpl惯用法 实例
函数对象(仿函数)实现多态方法:1- 把仿函数类的数据和/或多态移到另一个类中。2-然后给你的仿函数一个指向这个新类的指针。例子:函数对象中的虚函数会出现分割问题(因为STL的函数对象作为参数/返回值时是通过值传递的)templateclass BPFC: // BPFC =“Big Polymorphicpublic // FunctorClass”u原创 2014-02-22 12:45:00 · 1243 阅读 · 0 评论 -
模板实现---桥接模式
摘录自《C++ template》 继承实现桥接模式 模式实现桥接模式 自己对模板实现桥模式的理解:代码实现如下:template//模板类 class interface{impl body;void operationA(){body.operationA();}void operationB(){body.operationB()原创 2014-02-25 16:53:00 · 883 阅读 · 0 评论 -
ChainOfResponsibility 模式
作用:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. ChainOfResponsibility.h/********************************************************************created:转载 2014-03-04 09:52:17 · 706 阅读 · 0 评论 -
适配器模式 C++的两种实现
适配器模式继承实现Adaptee类没有Request方法,而客户期待这个方法。为了使客户能够使用Adaptee类,提供一个中间环节,即类Adapter类,Adapter类实现了Target接口,并继承自Adaptee,Adapter类的Request方法重新封装了Adaptee的SpecificRequest方法,实现了适配的目的。角色包括:目标(Target)角色:这是客户所期待转载 2014-03-03 18:09:26 · 1004 阅读 · 0 评论 -
Flyweight
原链接:http://www.cppblog.com/converse/#ifndef FLYWEIGHT_H#define FLYWEIGHT_H#include #include typedef std::string STATE;class Flyweight{public:virtual ~Flyweight(){}STATE转载 2014-03-04 10:58:44 · 581 阅读 · 0 评论 -
外观模式 C++实现
外观模式(Facade) 1/为系统中的大量对象提供一个一致的对外接口,以简化系统的使用。2/外观是另一种形式的wrapper,它不是包装一个对象,而是包装一组对象,简化了这组对象间的通信关系,给出一个高层次的易用接口。3/但外观并不屏蔽系统里的对象,如果需要,用户完全可以越过外观的包装使用底层对象以获得更灵活的功能。作用:为子系统的一组接口提供一个一致的界面。使用户转载 2014-03-05 11:03:38 · 625 阅读 · 0 评论 -
boost与设计模式
创建型模式结构型模式行为模式创建型模式模式抽象类类的实例化过程,封装了对象的创建过程----》使得对象的创建独立于其他部分。工厂方法: 计算器子类改变工厂方法的行为,生成不同的对象,工厂方法所属的类不一定是工厂类:可以是:普通类+框架类+自由函数例如make_shared(),make_tuple,原型类的实例通过拷贝的方式创建对象;具体的拷贝行为可以原创 2014-02-18 09:16:55 · 2600 阅读 · 0 评论 -
单例模式 模板类和非模板类实现
概述: singleton模式称作单件模式或单例模式。它的作用是确保一个类在整个工程中有且只有一个实例。可以在多个不同的类中很方便的所需要的类的方法。应用领域:常用在游戏编程和多线程编程中,读取配置文件,写入日志。原理:它的构造函数是私有的,你不能去new 它。该单例类里面已经实例化好了一个了,并且是static的,并提供一个获取该实例的方法!客户端只能通过该方法获取转载 2014-03-03 17:37:04 · 1181 阅读 · 0 评论