我正在编写相当大而复杂的应用程序,所以我想坚持设计模式以保持代码质量。我对一个几乎所有其他实例都可用的实例有疑问。
假设我有 BusMonitor 实例(用于记录消息的类)和其他使用此实例记录操作的实例,例如 Reactor,它解析来自网络协议的传入帧并根据帧记录不同的消息。
我有一个创建 BusMonitor、Reactor 和更多实例的主要实例。现在我希望 Reactor 能够使用 BusMonitor 实例,我该如何根据设计模式来做到这一点?
将它设置为 Reactor 的变量对我来说似乎很难看:
self._reactor.set_busmonitor(self._busmonitor)
对于每个需要访问 BusMonitor 的实例,我都会这样做。导入这个实例似乎更糟。
尽管我可以将 BusMonitor 设为 Singleton,但我的意思不是作为 Class,而是作为 Module,然后导入此模块,但我想将内容保留在类中以保持一致性。
什么方法是最好的?