我正在创建一个对象层次结构,它表示在控件上绘制的表格。我的层次结构如下所示:
Table has multiple pages
Page has multiple lines
Line has multiple cells
Cell has multiple glyph
我想在表格上有一个选项(一个参数)来过滤显示的列(单元格)。客户端代码可以做这样的事情:
myTable.ShowColumns(8,12) // Will display columns 8 to 12
在控件上显示和放置单元格是 Lines 对象的职责。如何将要显示哪些单元格的信息从 Table 对象传递到 Line 对象?
我应该给每一行一个表对象的引用吗?每次调用 Table.ShowColumns()
时,我是否应该尝试通过层次结构将信息传递给每一行?
一定有优雅的方式吗?
最佳答案
我认为不需要设计模式。 (或者我不会那样调用它) 为什么不在子链接到父链接的地方使用双链接,反之亦然?
关于design-patterns - 我应该使用什么设计,这样一个类就可以查询它的祖先之一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1826643/