0
据说循环依赖是坏的和反模式。所以我的问题是下面的代码有什么问题?它是否是一个循环依赖的例子?代码是python伪代码,但应该被理解。它是循环依赖吗?
class Manager:
_handlers = []
def on_config(self):
# do something...
# and notify about "event"
for handler in self._handlers:
handler()
def add_change_handler(self, handler):
self._handlers.append(handler)
def get_value(self):
return some_value
class Consumer:
def __init__(self, manager):
self._manager = manager
self._manager.add_change_handler(self._on_event)
def _on_change(self):
print('Got event')
def do_something(self):
self._manager.get_value()
所以:消费者得到经理:
- 的get_value从中
- 为LITENING注册上改变事件
从家伙是针对解决方案是争论最好创建其他类,它会:
- 知道经理和消费者
- 监听配置事件
- 通话消费者的on_change处理
- 消费者将使用管理员只的get_value
这并不算作* “依赖” *。这可能是一种循环关系,但不是依赖关系。 – deceze
代码中没有循环依赖。 –
好的,谢谢。但是,设计是否有缺陷?如果它有什么问题?在最终解决方案中提出的更好的选择? – user2146414