【问题标题】:What's the right layer for a socket connection?套接字连接的正确层是什么?
【发布时间】:2014-03-21 23:35:45
【问题描述】:

我想这个问题没有正确的答案 - 如果我有一个模块负责与服务器的连接和数据传输(使用简单的套接字连接,而不是 Web 服务案例),是否可以将该模块放在我的数据访问层组件还是应该为该作业创建另一个层(服务层)?

谢谢!

【问题讨论】:

  • 取决于您的设计。你觉得它应该放在哪里?它将与哪些层交互?
  • 听起来你倾向于分离,虽然这有利于模块化,但 Damien Black 绝对正确。如果网络的唯一用途是连接到您的数据访问权限,那么除了形式之外,将它们隔离开来并没有多大用处。

标签: architecture n-tier-architecture


【解决方案1】:

您正在访问数据,您希望它进入一个层...数据访问层非常简单。

【讨论】:

    【解决方案2】:

    这是您需要的: Chapter 8: Data Layer Guidelines

    请注意图 1 中数据层的“服务代理”部分及其适当的描述。 简而言之:DAL 是将所有数据提供给业务层的地方,DAL 应该知道如何获取这些数据。

    当然,您很可能希望以某种方式(存储库?)抽象 DAL,因为如果明天您的基于套接字连接的数据源服务添加 Web 服务支持,您可能希望能够轻松地支持它还。在这种情况下,您只需在 DAL 中更改服务代理的实现,而无需触及业务层或存储库中的任何内容。

    【讨论】:

      猜你喜欢
      • 2017-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-12
      • 1970-01-01
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      相关资源
      最近更新 更多