摘要: class ReceiverA{public: // Interface. void Action() { cout Execute(); // 此时, 调用者无需区分执行的内容, 只需要调用 Execute 即可. cb->Execute(); // 此模式借助 Command 这个中间层, 在调用者 ('main' 函数) 和被调用者 ('ReceiverA' 和 'ReceiverB') 之间解耦. // TODO: Release memory. return 0;} 阅读全文
posted @ 2013-01-31 21:22 walfud 阅读(160) 评论(0) 推荐(0) 编辑
摘要: class Window{protected: Window *m_successor; bool m_msg;public: Window(Window *successor, bool msg) : m_successor(successor), m_msg(msg) {}public: // Interface. virtual void Msg() { if (m_msg) { showMsg(); } else { if (m_succ... 阅读全文
posted @ 2013-01-31 20:47 walfud 阅读(114) 评论(0) 推荐(0) 编辑
摘要: class Subject{public: // Interface. virtual void Request() = 0;};class RealSubject : public Subject{public: // Interface. virtual void Request() override { cout <<"RealSubject::Request()." <<endl; }};class Proxy : public Subject{ // data. Subject &m_subject;public: Proxy(Su 阅读全文
posted @ 2013-01-31 20:46 walfud 阅读(117) 评论(0) 推荐(0) 编辑