『阅读笔记』设计模式7
cheny658 Lv3

迭代器模式

构造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_;
}

备忘录模式

用序列化的方式表示一个类,从而支持存储和恢复。感觉和备忘录没啥关系,主要还是序列化或者说是存储的思想。。懒了,依旧是贴代码