我有一个消息服务,负责将正确的消息推送到UITableView
。其中一些消息是系统消息,虽然它们的内容是通用的,但它们应该包含用户名等内容。
当前需要通过我的个人资料服务获取这些数据。
我一直在尝试为每个 API 编写一个服务,但现在我想知道,我是否应该将我的配置文件服务注入(inject)到消息服务中?如果我的服务开始做的不仅仅是与消息对话,我觉得这违反了 SOLID,但据我所知,一个服务不应该依赖另一个?
很抱歉这个宽泛的问题,我每天都在学习,
最佳答案
您的消息服务可以调用您的个人资料服务,这不会违反任何原则,但是,如果您的个人资料服务中的基础代码发生变化,您的消息服务不应中断。
我不会让您的消息服务与您的配置文件 API 对话。
想象一下,如果您的配置文件 API 的契约(Contract)或实现发生变化,现在您的消息服务和配置文件服务可能已损坏。
通过让您的消息服务与您的配置文件服务对话,您可以确保(通过单元/集成测试)对您的 API/服务的任何更改不会破坏您的其他服务和 View 。
关于swift - 一个服务应该调用另一个服务还是应该获取它自己的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53866648/