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