我有一个管理器类,它修改成员的状态 Dictionary<Id, MyObject>
变量。
是否可以交出对此的引用Dictionary
并为所有变化设立观察员?我想避免手动实现观察者模式,即手动注册监听器和触发通知的方法。
最佳答案
我建议你改变你的接近方向。您认为您拥有一个权威来源的模型(例如字典),该模型会就地更新,然后将更改通知订阅的观察者。
相反,我建议你翻转它:你有一组可观察的东西(你的互联网 API、传感器等),它们是你的原始数据源。这些可以由您的“数据管理器类”订阅,其工作是验证和过滤数据。该对象本身就是一个可观察的对象,并且它是模型的权威数据源。数据直接发送给订阅的观察者(没有中间人)。如果您需要保留该数据,那么持久性系统只是可能的订阅者之一,以及多种可能的其他订阅者(GUI、CLI、集成测试等)
关于swift - 如何为 swift 字典实现观察者模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55839118/