多层/多层系统等于紧耦合系统?

时间:2010-01-08 12:10:09

标签: .net architecture domain-driven-design web-services loose-coupling

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

E.g。一种Web服务,它公开“数据协定”对象,并将其转换为中间层中的某些“业务对象”,然后将其转换为数据层中相应的“ORM对象”。并且客户端调用Web服务,将datacontract转换为某些模型对象等...

由于介于两者之间的翻译很多,如何将Web服务设计为松散耦合?只要了解一下,如果有人可以分享他/她的意见那就太棒了。

由于

1 个答案:

答案 0 :(得分:3)

翻译或映射与松散耦合是正交的,虽然有些相关。

  • 如果您从具体类型映射到具体类型,则映射紧密耦合
  • 如果您从抽象类型映射到具体类型或其他方式,映射是松散耦合的

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

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

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