2
我发现无论何时创建图层/层,我都必须在一层之间进行翻译,这是否意味着它是一个紧密耦合的系统?如果我要更改业务逻辑,删除数据库中的字段等,我将不得不将所有层从数据库层更改为客户端前端?多层/多层系统等于紧耦合系统吗?
E.g.一种公开“数据合约”对象的Web服务,并将其转换为中间层中的某些“业务对象”,然后将其转换为数据层中适当的“ORM对象”。客户端调用Web服务,将数据合同转换为一些模型对象,等等...
既然在这两者之间有这么多的翻译,那么Web服务如何设计为松散耦合呢?如果有人能够分享他/她的观点,那就太好了。
由于
如果从抽象类型映射到具体类型或其他方式,映射是松散耦合的。 我同意从接口的角度来看它松散耦合,但它仍然可以紧密地耦合到数据库表字段?例如,如果您删除表中的列,那么会发生什么?你需要改变接口和映射,也就是说,耦合?多层=多翻译并向上传播,维护增加,所以它仍然松散耦合? – Joshscorp 2010-01-08 13:28:58
添加或删除数据(无论是在数据库中,还是作为.NET类型的成员)都将被视为合同变更。这可能会在松散耦合的系统中受到更多伤害,因为您需要在多个位置实施此更改,但另一方面,您也可以将自己与其他层中的更改隔离开来。这取决于你为什么介绍改变,但这不是我们通常从松散耦合的概念中理解的。 – 2010-01-08 13:40:00