Design patterns 包含观测器设计模式的循环依赖
我正在从事一个涉及服务器和一些客户端的多层项目 大多数消息由客户端发起并发送到服务器,这意味着它们看起来如下所示: 客户端->中间层->服务器 但有些消息是服务器启动的更新,这意味着它们是反向的。 所以我需要实现Observer模式,其中客户端是Observer,服务器是Subject。问题是客户端已经通过中间层对服务器进行了引用。这意味着我不能让服务器拥有对客户机的引用(同样是通过中间层),因为这样我就有了循环依赖关系 我如何解决这个问题?我读到的一个想法是使用这样的中介: 服务器->中介 客户->调解人Design patterns 包含观测器设计模式的循环依赖,design-patterns,architecture,circular-dependency,circular-reference,Design Patterns,Architecture,Circular Dependency,Circular Reference,我正在从事一个涉及服务器和一些客户端的多层项目 大多数消息由客户端发起并发送到服务器,这意味着它们看起来如下所示: 客户端->中间层->服务器 但有些消息是服务器启动的更新,这意味着它们是反向的。 所以我需要实现Observer模式,其中客户端是Observer,服务器是Subject。问题是客户端已经通过中间层对服务器进行了引用。这意味着我不能让服务器拥有对客户机的引用(同样是通过中间层),因为这样我就有了循环依赖关系 我如何解决这个问题?我读到的一个想法是使用这样的中介: 服务器->中介 客
但我不明白如何让它起作用 为什么客户端依赖于服务器而不是中间层?对不起,我不清楚-客户端依赖于中间层,但它仍然“知道”因为中间层依赖于
主题中的服务器,所以服务器不依赖于ConcreteObserver
(在您的情况下,客户机
)只依赖于Observer
接口。@ChrisDrew非常感谢,这基本上解决了我的问题:)