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

时间:2018-12-20 10:18:47

标签: swift oop

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

当前需要此数据,并且可以通过我的个人资料服务获得。

我一直在尝试为每个API编写服务,但是现在我想知道,我应该将个人资料服务注入消息服务吗?如果我的服务开始不只是与消息对话,我觉得这违反了 SOLID ,但是据我了解,服务不应该依赖于另一个吗?

道歉,我仍然每天都在学习,

1 个答案:

答案 0 :(得分:1)

您的Message Service可以调用您的Profile Service,这不会违反任何原则,但是,如果Profile Service中的基础代码发生更改,您的Message Service不会中断

我不会让您的消息服务与您的Profile API通话。

想象一下,如果您的Profile API的合同或实现发生了变化,那么您的消息服务和Profile Service可能已被破坏。

通过让您的消息服务与Profile Service对话,您可以确保(通过单元/集成测试)对API /服务的任何更改都不会破坏其他服务和视图。