
设计模式 (c++)
小小玮
以梦为马
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++设计模式--访问者模式
访问者模式(Visitor)分离了类的内部元素与访问它们的操作,可以在不改变内部元素的情况下增加作用于它们的新操作。如果一个类有很多内部数据,因此也就有很多访问操作,这样会使它的接口非常庞大,难以变动难以学习。访问者模式可以做到数据的存储与使用分离,不同的访问者可以集中不同类别的操作,并且可以随时增加新的访问者或者新方法来增加新的操作。GOOD:适用于数据结构稳定的系统。它把数据结构和作用转载 2013-09-17 09:07:54 · 968 阅读 · 0 评论 -
c++设计模式--迭代器模式
迭代器模式(Iterator)把按某种顺序访问一个集合中的元素的方式封装在一个对象中,从而无须知道集合的内部表示就可以访问集合。迭代器模式可能是面向对象软件开发中应用的最广泛的一个设计模式。GOOD:提供一种方法顺序访问一个聚敛对象的各个元素,而又不暴露该对象的内部表示。为遍历不同的聚集结构提供如开始,下一个,是否结束,当前一项等统一接口。 RES:http://hi.bai转载 2013-09-17 08:50:29 · 934 阅读 · 0 评论 -
C++设计模式--职责链模式
// ChainofResponsibilityPattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解“职责链模式”RES:http://blog.youkuaiyun.com/wuzhekai1985/article/details/6673892#include "stdafx.h"#include #include #include u转载 2013-09-17 08:33:23 · 757 阅读 · 0 评论 -
c++设计模式--桥接模式
res:http://hi.baidu.com/xuehuo_0411/item/1a026712246d9322f6625cd4 // BridgePattern.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"////设计模式 桥接模式 C++实现//// 桥接模式(Bridge)分离了类的抽象和实现,使它们可以彼此独立地变化而互转载 2013-09-16 22:42:42 · 1354 阅读 · 0 评论 -
c++设计模式--策略模式
// StrategyPattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的:“策略模式”//策略模式:策略模式定义了一系列的算法,并将每一个算法封装起来,//而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。//下面采用《大话设计模式》里的赵云拆锦囊的例子解释这一模式//《三国演义》里赵云陪刘备去关东娶亲,临行时诸葛亮给了赵原创 2013-09-16 22:20:17 · 865 阅读 · 0 评论 -
c++设计模式--备忘录模式
// MementoPattern.cpp : 定义控制台应用程序的入口点。//通过此实例了解设计模式里的“备忘录模式”//备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可将该对象//恢复到原先保存的状态//下面采用《大话设计模式》的保存游戏进度的例子解释这一模式#include "stdafx.h"#include原创 2013-09-15 16:52:18 · 813 阅读 · 0 评论 -
c++设计模式--观察者模式
// ObserverPattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的“观察者模式”//观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象,这个主题对象在状态发生变化时,//会通知所有观察者对象,使他们能够自动更新自己//下面采用学生上课时的情形来解释这一模式//学生上课时,老师因为临时有事,不能来上课,要班主任来原创 2013-09-15 15:45:27 · 714 阅读 · 0 评论 -
c++设计模式--外观模式
// FacadePattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的“外观模式”//外观模式:为子系统中的一组接口提供一致的界面,此模式定义了一个高层次的接口,这一接口使得子系统更加容易使用//下面利用我们自己的PC启动过程来解释这一模式//电脑启动过程设计硬件启动和软件启动//用户(我们自己)无需了解这些,PC内部系统电路已经做好了一切,我原创 2013-09-15 10:36:16 · 721 阅读 · 0 评论 -
C++设计模式--模板方法模式
// TemplateMethodPattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的“模板方法模式”//模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟待子类中,模板方法模式使得子类可以不改变一个算法的结构//即可定义该算法的某些特定步骤//下面采用《大话设计模式》里的学生考试做选择题的例子解释这一模式//老师给每个学生发试卷,试卷原创 2013-09-15 09:57:11 · 711 阅读 · 0 评论 -
c++设计模式--状态模式
// StatePattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的“状态模式”//状态模式提供一个状态接口,如果要增加其他状态,只要从这个状态接口派生即可//下面利用本人这段时间一天内的学习情况来解释状态模式//假设我们大四可以自由活动(可以逃课)//则一天内,上午(8--11):工作(算法练习,c++语法练习)//中午(11--2:00原创 2013-09-14 19:59:08 · 783 阅读 · 0 评论 -
c++设计模式--对象适配器模式
// AdapterPattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的“对象适配器模式”//适配器模式:将一个类的接口转换为用户希望的另一个类的接口,适配器模式使得//原本由于接口不兼容而不能再一起工作的类可以再一起工作--《大话设计模式》//手机的电压一般在3-4.2v,//而电视机的电压在220v--300v//两者显示的电压不同,我原创 2013-09-14 18:31:48 · 970 阅读 · 0 评论 -
c++设计模式--解释器模式
解释器模式(Interpreter)定义了一个类体系,用于实现一个小型语言的解释器。它与组合模式很相似,而且常常利用组合模式来实现语法树的构建。GOOD:通常当一个语言需要解释执行,并且你可以将该语言中的句子表示成为一个抽象的语法树时,可以使用解释器模式。 RES:http://hi.baidu.com/xuehuo_0411/item/41778e77d47f9d43ef1e53e8转载 2013-09-17 09:10:21 · 1511 阅读 · 0 评论 -
c++设计模式--建造者模式
// BuilderPattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的“建造者模式”#include "stdafx.h"#include #include using namespace std; class CPersonBuilder{public: virtual void BuildHead()=0; vir原创 2013-09-14 16:06:12 · 1109 阅读 · 0 评论 -
设计模式---原则
原则一:开放--封闭原则软件实体(类,模块,函数等)应该可以扩展,但是不可修改原则特征:对于扩展是开放的,对于修改是封闭的 开放--封闭原则是面向对象设计的核心,遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可扩展,可复用,可维护,灵活性好,开发人员应该仅对程序中呈现处频繁变化的那些部分做出抽象,然而,对于应用程序中的每个部分都刻意地进行抽象同样不是好主意,拒绝不成熟的抽原创 2013-09-17 09:28:04 · 750 阅读 · 0 评论 -
c++设计模式--组合模式
// CompositePattern.cpp : 定义控制台应用程序的入口点。//res:http://www.cnblogs.com/tiandsp/archive/2012/06/26/2563575.html#include "stdafx.h"#include #include #include using namesp转载 2013-09-16 15:52:46 · 792 阅读 · 0 评论 -
c++设计模式--简单工厂模式
// SimpleFactoryPattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的“简单工厂模式”#include "stdafx.h"#include #include #include using namespace std;//图形抽象类class CShape{public: CShape() { }原创 2013-09-13 11:16:10 · 751 阅读 · 0 评论 -
c++设计模式--工厂方法模式
// FactoryMethodPattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的“工厂方法模式”#include "stdafx.h"#include #include #include using namespace std; //图形抽象类class CShape{public: CShape()原创 2013-09-13 11:43:18 · 660 阅读 · 0 评论 -
c++设计模式--单例模式
// SingletonPattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的“单例模式”#include "stdafx.h"#include #include using namespace std;class CSingleton{public:static CSingleton* GetInstance()原创 2013-09-13 19:54:23 · 779 阅读 · 0 评论 -
c++设计模式--享元模式
享元模式(Flyweight)使用共享的方式节约内存的使用,可以支持大量细粒度的对象。它将对象的内部状态与外部状态分离,配合工厂模式(抽象工厂或工厂方法)生成仅有内部状态的小对象,工厂内部保持小对象的引用计数从而实现共享,外部状态可以通过计算得到。GOOD:运用共享技术有效地支持大量细粒度的对象(对于C++来说就是共用一个内存块啦,对象指针指向同一个地方)。如果一个应用程序使用了大量的转载 2013-09-17 09:02:22 · 835 阅读 · 0 评论 -
c++设计模式--中介者模式
中介者模式(Mediator)用一个中介对象封装了一系列对象的交互联系,使它们不需要相互了解就可以协同工作。中介者模式在存在大量需要相互通信对象的系统中特别有用,因为对象数量的增加会使对象间的联系非常复杂,整个系统变得难以理解难以改动。这时中介者可以把这些对象解耦,每个对象只需要与中介对象通信,中介对象集中了控制逻辑,降低了系统的通信复杂度。中介者模式与观察者模式是相互竞争的模式,通常观察者模转载 2013-09-17 08:58:16 · 865 阅读 · 0 评论 -
c++设计模式--命令模式
// CommandPattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的命令模式//命令模式(Command)把请求封装成一个对象,使请求能够存储更多的信息拥有更多的能力。命令模式同样能够把请求的发送者和接收者解耦,但它不关心请求将以何种方式被处理。命令模式经常与职责链模式(Chain of Responsibility)和组合模式(Composite)一转载 2013-09-17 08:45:41 · 864 阅读 · 0 评论 -
c++设计模式--代理模式
// ProxyPattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的“代理模式”//代理模式:为其他对象提供一种代理以控制对这个对象的访问//下面利用火车票零售点的具体情形来解释这一模式//对于旅客来说,买票才是最终目的,火车站为了为旅客提供方便,在各处设定零售点,这就是代理//零售点向旅客售票要经过火车站的网络服务器请求#include原创 2013-09-15 09:10:53 · 757 阅读 · 0 评论 -
c++设计模式--装饰模式
// DecoratorPattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的“装饰模式”//装饰模式:动态地给一个对象添加额外的职责,就增加功能来说,装饰模式比生成子类更加灵活//下面利用游戏玩家升级后的装扮解释装扮模式#include "stdafx.h"#include #include #include using names原创 2013-09-15 08:43:34 · 896 阅读 · 0 评论 -
c++设计模式--原型模式
// ProtoTypePattern.cpp : 定义控制台应用程序的入口点。//通过此例程了解设计模式里的“原型模式”,//具体信息参考《大话设计模式》#include "stdafx.h"#include #include using namespace std; //父类:简历class Resume{protected: char *m原创 2013-09-14 17:03:09 · 750 阅读 · 0 评论 -
终于弄了个人网站
我的个人技术网站:点击打开链接原创 2017-09-19 13:47:19 · 961 阅读 · 1 评论