我想创建两个类:一个对象和一个对象管理器,但我不确定它们应该如何相互查看/包含。我听说两个头文件相互包含是被禁止的,如果我的代码依赖关系存在循环,则这是一种糟糕的代码设计,并且通常应该像层次结构(城镇->房子->家具,家具不应知道城镇的存在)一样。
但是这里有一个对象管理器,它知道并保存所有的对象,而对象应该有一个选项来创建新的对象,但是然后它们应该调用对象管理器,这将迫使它们知道它的存在,这将在结构中创建一个循环,这是不好的。
这就像一个进程想通过调用操作系统系统调用来创建一个新进程,因此操作系统和进程彼此了解。
是否有一种正确的代码设计实现方式,或者有时只是不好?我认为也许对象应该有一个特殊的地方,它们将在那里存储所有的“系统调用”,而对象管理器会不时地检查它,但也许还有更好的方法。
但是这里有一个对象管理器,它知道并保存所有的对象,而对象应该有一个选项来创建新的对象,但是然后它们应该调用对象管理器,这将迫使它们知道它的存在,这将在结构中创建一个循环,这是不好的。
这就像一个进程想通过调用操作系统系统调用来创建一个新进程,因此操作系统和进程彼此了解。
是否有一种正确的代码设计实现方式,或者有时只是不好?我认为也许对象应该有一个特殊的地方,它们将在那里存储所有的“系统调用”,而对象管理器会不时地检查它,但也许还有更好的方法。