![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OO与模式
yzm365487848
这个作者很懒,什么都没留下…
展开
-
【24种设计模式】桥接(bridge)模式
//分离抽象部分和实现部分,使得各自都可以独立变化 class WindowImpl; class Window { public: virtual ~Window() {} virtual void Create() { } void OnPaint(); protected: Window(WindowImpl* pImpl) : m_pWindowImpl(原创 2013-04-08 14:52:11 · 540 阅读 · 0 评论 -
【24种设计模式】组合模式
适用场景:整体和部分可以被一致对待(如WORD中复制一个文字、一段文字、一篇文章都是一样的操作) #include #include #include class Component { public: Component(const char* szName); virtual ~Component(); virtual void Add(Component* p)原创 2013-03-30 11:26:08 · 554 阅读 · 0 评论 -
【24种设计模式】抽象工厂模式
1, 意图 提供一个穿件一系列相关或相互依赖对象的接口,而无需指定他们具体的类 class Font; class Brush; class Pen; class ResourceFactory { public: virtual Font* CreateFont() = 0; virtual Brush* CreateBrush() = 0; virtual Pen* Crea原创 2013-03-30 15:44:40 · 445 阅读 · 0 评论 -
【练手】reactor模式
测试代码之Reactor模式 class Handler { public: virtual void OnRead(SOCKET s) = 0; virtual void OnSend(SOCKET s) = 0; virtual void OnAccept(SOCKET s) = 0; }; class Reactor { public: typedef原创 2013-03-14 14:17:51 · 542 阅读 · 0 评论 -
【24种设计模式】状态模式
当一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时,可考虑用到状态模式 #include "stdafx.h" #include using namespace std; class job; class afternoon_state; class night_state; class noon_state; class state { public:翻译 2013-03-11 11:56:29 · 577 阅读 · 0 评论 -
【24种设计模式】装饰者模式
装饰者模式: 动态的给一个对象添加一些额外的职责(不重要的,偶然执行一次的),就增加功能来说,装饰模式比生成子类更灵活,对象无需知道外围的这个装饰类的存在。 #include "stdafx.h" #include using namespace std; class component { public: component() {} virtual ~component翻译 2013-03-07 11:16:49 · 527 阅读 · 0 评论 -
【24种设计模式】观察者模式
#include #include using namespace std; template class observer { public: observer() {} virtual ~observer() {} virtual void update(_type& event) { } }; template class observable { public: t翻译 2013-03-07 14:46:38 · 660 阅读 · 0 评论 -
UML解惑:图说六大UML类图关系
UML类图关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑。这里就向大家简单介绍一下六种UML类图关系的特征。 本文和大家重点讨论一下UML类图关系,UML定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。这里给出这六种主要UML关系的说明和类图描述,一看之下,清晰明了,请看下文详细介绍。 UML解惑:图说六大UML类图关系 UML定义的关系主转载 2012-10-19 15:00:25 · 648 阅读 · 0 评论 -
【24种设计模式】命令模式
动机:将一个请求封装成命令,解耦命令请求者与命令执行者之间的耦合。 #include using namespace std; //参与者 Invoker, Receiver, Command, ConcreteCommand class Document { public: void Open() { cout<<"打开文档"<<endl; } void Close() {原创 2013-04-09 18:08:02 · 505 阅读 · 0 评论