swift - 一个服务应该调用另一个服务还是应该获取它自己的数据

标签 swift oop

我有一个消息服务,负责将正确的消息推送到UITableView。其中一些消息是系统消息,虽然它们的内容是通用的,但它们应该包含用户名等内容。

当前需要通过我的个人资料服务获取这些数据。

我一直在尝试为每个 API 编写一个服务,但现在我想知道,我是否应该将我的配置文件服务注入(inject)到消息服务中?如果我的服务开始做的不仅仅是与消息对话,我觉得这违反了 SOLID,但据我所知,一个服务不应该依赖另一个?

很抱歉这个宽泛的问题,我每天都在学习,

最佳答案

您的消息服务可以调用您的个人资料服务,这不会违反任何原则,但是,如果您的个人资料服务中的基础代码发生变化,您的消息服务不应中断

我不会让您的消息服务与您的配置文件 API 对话。

想象一下,如果您的配置文件 API 的契约(Contract)或实现发生变化,现在您的消息服务和配置文件服务可能已损坏。

通过让您的消息服务与您的配置文件服务对话,您可以确保(通过单元/集成测试)对您的 API/服务的任何更改不会破坏您的其他服务和 View 。

关于swift - 一个服务应该调用另一个服务还是应该获取它自己的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53866648/

相关文章:

ios - Firebase 循环多级节点

php - 从 OO PHP 中的重写方法中调用重写方法

oop - Kotlin - 是否可以在类中的 init block 之前初始化伴随对象?

java - 检查调用对象是否是子类的实例

java - 强制执行静态方法所需的设计模式

ios - 如何检测 Square Reader 硬件是否通过蓝牙与 iPad 连接?

ios - 使用 EarlGrey 点击 UITabBarItem

java - 将参数传递给枚举抽象方法

objective-c - 覆盖属性会导致无限递归

ios - 强制WKWebView显示移动版本