设计模式 -- 实例研究
就是要设计一个类似于 word 的文档编辑器。
结构–递归组合
最开始我们考虑的是文档的结构,发现最适合的就是递归组合的形式。用来变现任何复杂的,层次化的结构。
我们给每一个基本的都赋予父亲,孩子,插入,移除,还有最简单的绘制方法,具体的类名为 Glyph。
格式化–策略
他的结构与渲染的格式化其实是两件事情。主要是格式化是件独立的事情,我们可能会选择不同的算法来针对不同的元素。于是这里在元素之上包装了一层 Compositor。这个拥有者 Glyph 的 list,并且拥有这 Compositor 的实例(格式化的算法)。
在对象中封装算法就是策略模式的目的,让我们不必为了支持一个新的算法而改变 Strategy 或者他的环境。
//tudo:暂时读的太难受了,先全部了解了再来看例子吧
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 981909093@qq.com
文章标题:设计模式 -- 实例研究
文章字数:261
本文作者:泽鹿
发布时间:2019-08-28, 16:45:23
最后更新:2019-08-28, 16:45:23
原始链接:http://panyifei.github.io/2019/08/28/读书笔记/设计模式/2章实例研究/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。