SoC或单片代码?

时间:2011-01-17 18:27:15

标签: asp.net media social modular-design

  

关注点分离(SoC)建议将应用程序分解为特定的功能单元,使每个单元仅满足一个问题的需要。

我有一个练习场景,其中SoC通常需要更多时间来处理用户请求。例如,假设我正在社交媒体网站上工作。当用户接受来自他人的邀请时,我们通常会执行以下处理,例如。

  1. 邀请将被验证。 (InvitationRepository将执行此操作)
  2. 朋友将被添加到我的网络列表中。 (FriendRepository会这样做)
  3. 将跟踪电子邮件,并将电子邮件发送给朋友。 (EmailRepository会这样做)
  4. 在这种情况下,我们需要等到我们完成对数据库的三个请求(数据库位于某处),并且在比较使用单片代码在一个数据库调用中存在所有内容的其他场景时需要很长时间才能完成。

    你能否建议在这种情况下哪一个会好?

1 个答案:

答案 0 :(得分:0)

做有意义的事情。如果SoC对于应用程序标准的维护很重要,那么请研究优化SoC的方法,或创建异步进程而不是仍使用SoC的同步进程。如果可用性超过SoC和SoC的变通办法是不可能的,那么如果你必须这样做,那么就要做一件建筑噩梦。

最佳解决方案并非始终是为您提供最高吞吐量的解决方案。否则,ASP.NET .aspx.cx页面会将所有问题都硬连接到它们 - 业务逻辑,数据库访问,Web服务调用等。这将是许多经典ASP应用程序十多年前的地方。