模型-仓库-服务-验证器-视图-视图模型-控制器设计模式(?)

7

当我第一次听说ASP.NET MVC时,我认为它意味着应用程序有三个部分:模型、视图和控制器。

然后我阅读了NerdDinner并学习了存储库和视图模型的方法。接下来,我阅读了this tutorial,很快就被服务层的优点所吸引。最后,我阅读了Fluent Validation documentation,结果写了一堆验证器。

今晚,我退后一步,思考了我的项目发展成了什么样子。它似乎已经成为了设计模式版本的“特性膨胀”。不知何故,我从模型-视图-控制器变成了模型-存储库-服务层-验证器-视图-视图模型-控制器。你想要松散耦合和DRY原则?我们这里有你想要的!但我在想这会不会是过犹不及?

我担心得对吗?还是这并不像听起来那么疯狂?一方面,拥有如此多的层似乎很疯狂。另一方面,每个层都有一个明确定义的目的,这对我来说是有道理的。你的MVC应用程序也变成了MRSVVVMC应用程序吗?如果没有,它们看起来是什么样子的?在哪里找到正确的平衡点?

2个回答

4
如果你只有一个表单,却有三个属性,那就有点过头了。但是如果你有一个“真正”的应用程序,并且每个层的职责都很清晰,我认为这样做相当合理。

1
听起来你是找到了一个模式,然后去寻找问题。你应该先找到问题,再从你的工具箱中选择合适的工具...而不是使用所有的工具。当然,除非这是一项学术练习。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接