asp.net - 模型-存储库-服务-验证器- View - View 模型- Controller 设计模式(?)

标签 asp.net asp.net-mvc design-patterns web-applications

当我第一次听说 ASP.NET MVC 时,我认为这意味着应用程序由三个部分组成:模型、 View 和 Controller 。

然后我读到 NerdDinner并学习了存储库和 View 模型的方法。接下来,我读到this tutorial并很快就被服务层的优点所吸引。最后,我读了Fluent Validation documentation ,如果我最终没有编写一堆验证器,那我就该死了。

今晚,我退后一步思考我的项目发生了什么。它似乎已经成为相当于“功能蔓延”的设计模式的受害者。不知何故,我从模型- View - Controller 转到模型-存储库-服务-验证器- View - View 模型- Controller 。您想要松散耦合且 DRY 吗?我们在这里得到了您的松散耦合和干燥!但我想知道这是否是一件好事太多了。

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

最佳答案

如果你的一种形态具有三种属性,那就太过分了。

但是如果您有一个“真正的”应用程序,并且每一层的职责都定义良好,我认为这是相当合理的。

关于asp.net - 模型-存储库-服务-验证器- View - View 模型- Controller 设计模式(?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2091991/

相关文章:

asp.net - ApplicationClass Documents.Open 为 64 位系统上的 ASP.NET 站点返回 null

asp.net - 您可以使用 Mono Develop 直观地编辑 asp.net 项目的 html/view 部分吗?

asp.net-mvc - 如何在 ASP.NET MVC 中测试 ajax 提交?

C# EF 代码首先部署到 Godaddy

java - 如何在多态工厂模式中避免大量样板文件

ASP.Net 菜单滚动图像

asp.net - 如何从代码隐藏更改按钮的 OnClick 操作

asp.net-mvc - ASP.NET MVC 单向路由

java - 有没有一种方法可以遵守单一职责原则,而无需在此代码中调用多个数据库调用?

ruby-on-rails - ruby on rails 设计模式