2

我发现每当我创建一个层/层时,我必须在一个层之间转换,这是否意味着它是一个紧密耦合的系统?如果我要更改业务逻辑、删除数据库中的字段等,我是否必须将所有层从数据库层更改为客户端前端?

例如,一个 Web 服务公开一个“数据契约”对象,并将其转换为中间层的一些“业务对象”,然后将其转换为数据层中适当的“ORM 对象”。客户端调用 Web 服务,将数据合同转换为一些模型对象,等等......

既然中间有这么多的翻译,那么如何将 Web 服务设计成松耦合的呢?如果有人能分享他/她的意见,那就太好了。

谢谢

4

1 回答 1

3

转换或映射与松散耦合是正交的,尽管有些相关。

  • 如果从具体类型映射到具体类型,则映射是紧密耦合的
  • 如果从抽象类型映射到具体类型或相反,映射是松散耦合的

换句话说,松散耦合与接口编程的概念有关- 而不是映射。

如果应用程序中的层通过具体类型相互通信,则它是紧密耦合的。在这种情况下,分层并不能提供太多价值,您还不如构建了一个单体应用程序。

另一方面,如果一个层通过接口与其他层通信,这些层将是松散耦合的,但通常仍然需要映射。

于 2010-01-08T12:32:09.743 回答