通知容器对象:最佳实践

Pav*_*tov 4 python architecture notifications containers

我有两个班:帐户和运营商.帐户包含操作员列表.现在,每当操作员(在列表中)收到消息时,我想通知Account对象以执行某些业务逻辑.

我想到了如何实现这一目标的三种选择:

1)将Operator内的引用保存到容器[Account]对象并直接调用方法.因为循环引用而不是绝对好.

2)使用事件.据我所知,Python中没有内置的事件处理机制.所以,这个实现起来有点棘手.

3)不要直接向操作员发送消息.相反,只在内部运行处理程序运算符,在其中运行.这个有点限制,因为在这种情况下我不能传递对运算符的引用.

我想知道从架构的角度来看哪种方法最有利.你通常如何处理这项任务?

如果你能在Python中指出片段,那就太好了.

S.L*_*ott 5

你在想这个.认真.Python不是C++; 您的担忧在Python中不是问题.只需在您的问题域中编写有意义的内容.

"由于循环引用,这并不是绝对好的."

为什么不?圆形在这里根本没有意义.双向关系是很棒的事情.使用它们.Python垃圾收集它们就好了而你没有任何想法.

相互(双向)关系有什么问题?

"...只运行帐户,内部运行处理程序操作员.这个有点限制,因为在这种情况下我无法传递对运算符的引用."

什么?你的运算符是Python对象,传递你想要的一切.所有Python对象都是(实际上)引用,不要惹恼它.

操作Operator对象有什么问题?