gpt4 book ai didi

c# - 我是否违反了共同封闭原则(CCP)

转载 作者:太空宇宙 更新时间:2023-11-03 15:52:08 25 4
gpt4 key购买 nike

我有包含以下 dll 的应用程序:

Web 项目 - MVC Web 应用程序

Wcf 服务 - Web 应用程序使用的服务。

模型 - Entity Framework 代码优先实体和 DbContext 对象。

现在,当我需要更改某些内容时,可以说是 wcf 服务中的功能,所以我更改了功能,但 web 也受到了影响,我需要再次添加服务引用并有时更改使用 wcf 服务和模型的代码变化...

正如中共所说:包装不应该有一个以上的理由来改变。如果在依赖于多个包的应用程序中发生更改,理想情况下我们只希望更改发生在一个包中,而不是在多个包中发生。这有助于我们确定可能会更改的类,并出于相同的原因将它们打包在一起。如果这些类紧密耦合,请将它们放在同一个包中。

所以在我的设计中我违反了这个原则?如果有人能解释更好的设计,我会很高兴。

最佳答案

WCF 服务包含 WSDL 定义,它是使用其功能的契约,也为它定义了实体。您需要再次添加引用的一个可能原因是您正在更改此契约(Contract)。欲了解更多信息,请查看此处: http://msdn.microsoft.com/en-us/library/aa738723(v=vs.110).aspx

关于c# - 我是否违反了共同封闭原则(CCP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25377998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com