Boolan C++设计模式第三周心得笔记

单件模式

Boolan C++设计模式第三周心得笔记_第1张图片
Boolan C++设计模式第三周心得笔记_第2张图片

享元模式

Boolan C++设计模式第三周心得笔记_第3张图片

状态模式

Boolan C++设计模式第三周心得笔记_第4张图片
Boolan C++设计模式第三周心得笔记_第5张图片

备忘录

Boolan C++设计模式第三周心得笔记_第6张图片
Boolan C++设计模式第三周心得笔记_第7张图片
Boolan C++设计模式第三周心得笔记_第8张图片
Boolan C++设计模式第三周心得笔记_第9张图片

组合模式

Boolan C++设计模式第三周心得笔记_第10张图片
Boolan C++设计模式第三周心得笔记_第11张图片

迭代器

Boolan C++设计模式第三周心得笔记_第12张图片
Boolan C++设计模式第三周心得笔记_第13张图片

职责链

Boolan C++设计模式第三周心得笔记_第14张图片
Boolan C++设计模式第三周心得笔记_第15张图片
Boolan C++设计模式第三周心得笔记_第16张图片
Boolan C++设计模式第三周心得笔记_第17张图片

命令模式

Boolan C++设计模式第三周心得笔记_第18张图片

访问器

Boolan C++设计模式第三周心得笔记_第19张图片
Boolan C++设计模式第三周心得笔记_第20张图片

解析器

Boolan C++设计模式第三周心得笔记_第21张图片
Boolan C++设计模式第三周心得笔记_第22张图片
Boolan C++设计模式第三周心得笔记_第23张图片
Boolan C++设计模式第三周心得笔记_第24张图片
Boolan C++设计模式第三周心得笔记_第25张图片

本周作业

  • 本次作业要求针对DrawingSystem中的基类Shape和各个子类Line、Rec、Circle,请使用某种模式来支持更复杂的形状,该复杂形状是各个形状的自由组合。使用松耦合面向对象设计方法和思想,可使用伪码表示设计。

  • 首先想到的就是组合模式,将shape作为根节点,具体的每一种形状为叶子节点。复杂的图形就相当于一个存放shape的容器,只要将需要的图形放入容器中,再将容器遍历就可以得到复杂的图形了。

  • 将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合的使用具有一致性。

  • 组合模式有透明组合模式和安全组合模式。透明组合模式是将Addordinate和GetSubordinate这两个函数也抽象到CCorpNode基类里,这增加了操作叶子节点的难度,更易出现逻辑问题。所以尽量使用安全模式。

  • 按照上述思路,具体的代码实现,见代码提交部分。

你可能感兴趣的:(Boolan C++设计模式第三周心得笔记)