迭代器模式
构造iterator来遍历某个数据结构集合,经典应用例如json(我认为),代码没啥好写的(我懒),贴一个
中介者模式
用一个中间类描述具体的组件类行为,防止组件之间耦合或者调用混乱
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| class Base; class Mediator { public: virtual void Notify(Base* sender, std::string event) const = 0; };
class Base { protected: Mediator* md_; };
class A : public Base { void processA() const { md_->Notify(this, "A"); } void processB() const { md_->Notify(this, "B"); } };
class B : public Base { void processC() const { md_->Notify(this, "C"); } void processD() const { md_->Notify(this, "D"); } };
class ConcreteMediator : public Mediator { public: void Notify(BaseComponent *sender, std::string event) const override { if (event == "A") { a_->processA(); b_->processC(); } if (event == "D") { a_->processB(); b_->processD(); } } private: A *a_; B *b_; }
|
备忘录模式
用序列化的方式表示一个类,从而支持存储和恢复。感觉和备忘录没啥关系,主要还是序列化或者说是存储的思想。。懒了,依旧是贴代码