设计模式(C++)
宅的一逼
这个作者很懒,什么都没留下…
展开
-
设计模式C++实现(8)——代理模式
原文链接 点击打开链接软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍代理模式的实现转载 2013-12-03 14:26:06 · 417 阅读 · 0 评论 -
C++代理模式
文章链接 点击打开链接由遇到的问题引出代理模式至少在以下集中情况下可以用代理模式解决问题:创建开销大的对象时候,比如显示一幅大的图片,我们将这个创建的过程交给代理去完成,GoF 称之为虚代理(Virtual Proxy);为网络上的对象创建一个局部的本地代理,比如要操作一个网络上的一个对象(网络性能不好的时候,问题尤其突出),我们将这个操纵的过程交给一个代理去完成,Go转载 2013-12-05 15:49:13 · 482 阅读 · 0 评论 -
C++设计模式-TemplateMethod模板方法模式
原文链接 点击打开链接Template模板方法模式作用:定义一个操作中的算法的骨架。而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。其关键是将通用算法(逻辑)封装在抽象基类中,并将不同的算法细节放到子类中实现。UML图如下:AbstractClass是抽象类,其实也就是一个抽象模板,定义并实现了一个模板方转载 2013-12-09 09:29:04 · 451 阅读 · 0 评论 -
策略模式【C++版】
原文链接 点击打开链接一、 基本特点: a)根据不同的情况,创建不同的对象 b)每个对象方法名相同,方法的实现差别很大二、组成: a)抽象策略: 1个 b)具体策略 多个,封装了相关的算法和行为 c)调度类: 持有一个具体策略类的引用,供客户端使用三、代码实现:#includeusing转载 2013-12-10 10:00:10 · 435 阅读 · 0 评论