![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++
yzm365487848
这个作者很懒,什么都没留下…
展开
-
【24种设计模式】命令模式
动机:将一个请求封装成命令,解耦命令请求者与命令执行者之间的耦合。 #include using namespace std;//参与者 Invoker, Receiver, Command, ConcreteCommandclass Document{public: void Open() { cout<<"打开文档"<<endl; } void Close() {原创 2013-04-09 18:08:02 · 509 阅读 · 0 评论 -
【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 · 544 阅读 · 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 · 558 阅读 · 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 · 448 阅读 · 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 · 580 阅读 · 0 评论