gpt4 book ai didi

objective-c - Objective C 中模型对象之间的双向通信

转载 作者:行者123 更新时间:2023-12-04 03:43:20 25 4
gpt4 key购买 nike

我有一个关于编程概念的问题,而不是与某些特定代码相关的特定问题。

我有两个模型对象,一个与 Core Data 相关,另一个与 Twitter 相关。

他们需要相互交流。 Twitter 对象可能需要数据库中的一些推文,而 Core Data 对象可能需要将一些推文写入数据库。

我可以在每个类上编写公共(public)方法并让每个类调用这些方法。

但是,我觉得这是一种非常紧密的耦合,我想在对象之间使用其他一些通信方法。

协议(protocol)委托(delegate)系统是否更适合这种情况?

例如,Twitter 类声明了 TwitterDataSource 协议(protocol),Core Data 类充当该协议(protocol)的委托(delegate)。反之亦然。

非常感谢,

Vazzyb

最佳答案

你是对的,耦合会很紧密。如果您想松开联轴器,请考虑使用 Mediator design pattern .随着情况的变化,您只需更改调解器处理两个对象之间通信的方式,而不是两个单独的对象本身。

UML mediator design pattern
(来源:devlake.com)

mediator info flow

关于objective-c - Objective C 中模型对象之间的双向通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15314467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com