【发布时间】:2011-12-12 21:55:38
【问题描述】:
我想创建两个类:object 和 object_manager,但我对它们应该如何查看/包含彼此感到困惑。我听说禁止两个标题相互包含,如果我的代码依赖项有圆圈,那么这是一个糟糕的代码设计,通常它应该像一个层次结构(城镇->房屋->家具和家具不应该知道关于城镇的存在)。
但是这里我有 object_manager,它知道并保存所有对象,并且对象应该有一个创建新对象的选项,但是他们应该调用 object_manager,这将迫使他们知道它的存在,这将创建一个结构中的圆圈,这很糟糕..
这就像一个进程想通过调用操作系统的系统调用来创建一个新进程,所以操作系统和进程是相互了解的......
有没有办法可以在正确的代码设计中实现这一点,或者有时它应该是不好的??
我想也许这些对象应该有一个特殊的地方来存储它们所有的“系统调用”,并且 object_manager 会不时检查它。但也许有更好的方法。
【问题讨论】:
标签: c++ dependencies system-calls code-design