design-patterns - 我应该使用什么设计,这样一个类就可以查询它的祖先之一?

标签 design-patterns class-design class-hierarchy

我正在创建一个对象层次结构,它表示在控件上绘制的表格。我的层次结构如下所示:

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/

相关文章:

python - 在 Python 中正确使用 super——我应该明确引用类名吗?

Java泛型类型: how to pass the right class type properly?

design-patterns - 模式 : Elegant way to do something upon function exit?

design-patterns - 在不使用Singleton的情况下从非bean对象获取Spring Application上下文

C++ 问题 : Class Promotion using derived class

java - 如何访问继承中的私有(private)字段

objective-c - 子类调用父类的方法

c++ - 为什么 C++ 智能指针实现将引用计数器与指针一起保存在堆上?

java - 我怎样才能使它与 Java 泛型一起工作

Java:如何编写方法来接受 child 而不强制转换为 parent ?