当我第一次听说ASP.NET MVC时,我认为它意味着应用程序有三个部分:模型、视图和控制器。
然后我阅读了NerdDinner并学习了存储库和视图模型的方法。接下来,我阅读了this tutorial,很快就被服务层的优点所吸引。最后,我阅读了Fluent Validation documentation,结果写了一堆验证器。
今晚,我退后一步,思考了我的项目发展成了什么样子。它似乎已经成为了设计模式版本的“特性膨胀”。不知何故,我从模型-视图-控制器变成了模型-存储库-服务层-验证器-视图-视图模型-控制器。你想要松散耦合和DRY原则?我们这里有你想要的!但我在想这会不会是过犹不及?
我担心得对吗?还是这并不像听起来那么疯狂?一方面,拥有如此多的层似乎很疯狂。另一方面,每个层都有一个明确定义的目的,这对我来说是有道理的。你的MVC应用程序也变成了MRSVVVMC应用程序吗?如果没有,它们看起来是什么样子的?在哪里找到正确的平衡点?