知识卡片

递归组合文档

普通读书笔记卡 · 1919

内容

文档结构可以把字符、图形、行、列、页面都看成图元,让整体和部分共享操作接口。递归组合降低了编辑器处理层级结构的复杂度。发散:树形业务对象也常需要这种“整体即部分”的抽象。

参考来源

- 位置:第2章《实例研究:设计一个文档编辑器》2.2.1节「递归组合」(源文件:_epub-src/OEBPS/Text/part0026.xhtml) - 结论依据:原文明确说明用递归组合把字符和图形从左到右排列成行、由行成列、由列成页,将每一个重要元素表示成兼容接口的对象,直接支持卡片对文档结构可把字符、图形、行、列、页面都看成图元、整体和部分共享操作接口的论述。 - 原始内容:"递归组合可以由较简单的元素逐渐建立复杂的元素……我们将字符和图形从左到右排列形成文档的一行,然后由多行形成一列,再由多列形成一页……因为我们要一致性地对待这些对象,所以这些类必须有兼容的接口。"