【Geekband】Week 3 Notes.md
2016-03-21 本文已影响56人
读书行路风雨兼程
0. 总体内容

1. Composition - has a
的关系
-
以
deque
和queue
的组合为例子 -
在
class queue
里面含有class deque
的reference,deque
可以使用queue
的相关函数,使其功能更加强大。

- 内存相互关系

- 构造和析构的顺序

2. Delegation - Composition by reference
- 更多的强调是在
class String
中拥有指针StringRep*
,即class String
负责完成与外界的操作,class StringRep
来处理内部的事宜。

3. Inheritance 继承 - is a
的关系
- 核心是子类继承父类的内容

- 主要是与virtual function来发挥作用
- 析构和构造顺序

4. non-virtual, virtual, pure virtual之间的关系

5. Template Method - 设计模式(MFC)
- 以打开文件为例,来设计各种类型文件的打开
- 固定的内容在父类完成,拓展的内容在子类完成

- 部分代码

6. Inheritance + Composition的构造和析构
- 主要是搞清楚运行的顺序

7. Delegation + Inheritance
-
Class Subject
来进行与外部的沟通,Observer
是by reference
用与两个类之间的通信。

8. Composite的设计模式
- 通过引入子类
class Composite
让父类class Component
的功能更加完善。这里使用个虚函数,意味着子类可以对add
运算重新定义。
9. Prototype的设计模式
- 更强调父类将宏观内容把我,子类将抽象的宏观内容具体化

- 父类的设计

- 子类的设计

作业分析和思考
https://github.com/weiweikong/Program_Practice/tree/master/160318.Geekband_Homework3