gpt4 book ai didi

c# - MVC : is there a definitive answer as to where business logic belongs?

转载 作者:太空狗 更新时间:2023-10-30 00:49:29 24 4
gpt4 key购买 nike

<分区>

尽管对该模式的经验有限,但我目前正在尝试重构 C# MVC 应用程序。围绕这个主题阅读,我似乎经常犯错误,对最佳实践提出截然相反的意见。

我最大的问题是 Controller 中的东西太多了。它们可以工作,但充满了难以重组和测试的业务逻辑。模型大多只是瘦 DTO。那么,我应该从哪里开始放置这个有用的业务逻辑,以便对其进行返工和测试?

很多人说应该go in the model .但是后来有人说应该 go in the controller after all .等人告诉你模型的原理containing data and NOTHING ELSE是该模式的基础。

然后有人告诉你它应该进入第四类,ViewModel .现在我在 WPF 中从事 MVVM 工作,并且熟悉这种范例。但是将它添加到 MVC 中似乎只是复制了很多在其他地方完成的工作,没有比盲目遵循模式指令更好的理由了。

还有一个选择是将它放在某种辅助类中。这似乎是一个常见的建议,我不会链接。但是这样做似乎浪费了另一个类的使用,该类除了向单个 Controller 提供功能外没有任何意义。这似乎从根本上违反了 OOP 原则。

是否有明确的“正确”答案?如果是这样,为什么会有这么多困惑?如果不是,您如何在这个观点困惑的情况下衡量最佳解决方案?

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