我现在一直在使用MVC框架,我真的很喜欢这些问题是如何被分开的。我养成了让控制器完成相当多工作的坏习惯。所以我真的在寻找一些建议。
当我第一次开始使用MVC时,我经常让控制器在数据库工作完成后对模型进行操作。我知道这很糟糕所以将这项工作转移到模型中。但是我对此并不满意,因为我希望我的模型能够很好地学习。
我已经做了一些阅读,我看到人们通过拥有服务层来保持他们的控制器和模型,我喜欢它的外观。
我只是想了解服务层和存储库应该如何协同工作。以下是我的假设,请您告诉我这是否是一种好的工作方式?
我正试图将我的所有代码转换为单一责任原则,因此试图理清我的编码实践。
由于
答案 0 :(得分:25)
首先,没有一套规则适用于所有情况。您如何建模您的应用程序在很大程度上取决于项目的类型和复杂性。话虽如此,这里有一些想法:
最重要的是,做正确的事(这通常是正确的答案)。
答案 1 :(得分:6)
This视频深入了解了如何组织您的asp.net MVC解决方案以及解决问题分离和更好的可测试性。希望它也能帮助别人。我从中学到了一些好东西。
答案 2 :(得分:5)
Ian Cooper刚刚就此主题撰写了一篇名为The Fat Controller的博文。