设计模式
hityct1
这个作者很懒,什么都没留下…
展开
-
pimpl 用法
pimpl 用法背后的思想是把客户与所有关于类的私有部分的知识隔离开。由于客户是依赖于类的头文件的,头文件中的任何变化都会影响客户,即使仅是对私有节或保护节的修改。pimpl用法隐藏了这些细节,方法是将私有数据和函数放入一个单独的类中,并保存在一个实现文件中,然后在头文件中对这个类进行前向声明并保存一个指向该实现类的指针。类的构造函数分配这个pimpl类,而析构函数则释放它。这样可以消除头文件与实转载 2009-02-22 04:30:00 · 1546 阅读 · 0 评论 -
访问者模式(Visitor Pattern)的c++实现示例
访问者模式是一种分离对象数据结构与行为的方法,通过这种分离,可以为一个已存在的类或类群(即被访问者)增加新的操作(即访问者)而无需为它们作任何修改。访问者模式属于行为型模式。 为什么要使用访问者模式? 如何扩展一个现有的类层次结构来实现新行为?一般的方法是给类添加新的方法。但是万一新行为和现有对象模型不兼容怎么办?还有,类层次结构设计人员可能无法预知以后开发过程中将会需要哪些功能。以原创 2009-05-09 23:47:00 · 7608 阅读 · 2 评论 -
装饰者模式(Decorator)的c++实现示例
水平有限,请多指正! 装饰者模式(Decorator)示例 例子改编自《设计者模式解析(第二版)》214页,人民邮电出版社 意图:动态的给一个对象添加职责;即提供了“即插即用”方法,不用重新编译已有部分。 问题:要使用的对象将执行所需的基本功能。但是,可能需要为这个对像添加某些功能,这些附加的功能可能发生在对象的基本功能之前或之后。解决方案:可以无需创建子类而扩展一个原创 2007-11-30 17:29:00 · 3838 阅读 · 3 评论