关注点分离 (SoC) 建议将您的应用程序分解为特定的功能单元,以便每个单元仅解决一个关注点的需求。
我有一个实践场景,其中 SoC 通常需要更多时间来处理用户请求。例如,假设我在社交媒体网站上工作。当用户接受来自另一个人的邀请时,我们通常会做一些如下的处理,例如。
- 邀请将被验证。(InvitationRepository 会这样做)
- 朋友将被添加到我的网络列表中。(FriendRepository 会这样做)
- 电子邮件将被跟踪并将电子邮件发送给朋友。(EmailRepository 会这样做)
在这种情况下,我们需要等到我们完成对数据库的三个请求(数据库位于某个地方),并且在比较其他使用单体代码在一个数据库调用中所有内容都存在的场景时,需要很长时间才能完成。
你能建议在这种情况下哪一个会好?