- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可能在这里分析过度了,但是根据我对 MVC 的阅读,似乎有很多关于如何做事情的观点。
是否有一个“最佳实践”网站或文档来定义 MVC 各个部分的职责?
请记住,我使用 EF/Repository&UnitOfWork/Service 模式时遇到的几个问题是:
1)如何将领域对象和业务规则的验证结果(错误消息等)从服务层获取到 View 模型?
2)我使用域对象和一个执行所有业务逻辑的服务层,然后我将域对象发送到 Controller 并让它们(通过 AutoMapper)将它们转换为 View 的 View 模型。 Controller 还负责哪些其他类型的事情?下面的代码可以吗? Controller 中的逻辑是否太多?:
public ActionResult SomeAction()
{
var model = Mapper.Map<DomainObject, ViewModel>(service.QueryReposForData());
model.SomeCollectionForSelectList = Mapper.Map<IEnumerable<DomainObject>, IEnumerable<ViewModel>>(service.QueryReposForSelectListData());
return View(model);
}
我不认为 Controller 中唯一的东西就是返回一个带有映射到 View 模型的对象图的 View 的一行?
3)我认为在 ViewModel 上拥有属性可以向 View 指示是否可以隐藏某些内容,然后在 View 中执行该逻辑?示例:
@if(Model.DisplaySomething)
{
<div>Something to show</div>
}
else
{
<div>Something else to show</div>
}
4) 我正在考虑让我的服务在写入时将某种 TransactionResult
对象返回给 Controller ,以使服务有责任处理事务。所以我会有一个聚合服务来启动一个事务(UnitOfWork)做它需要做的事情,然后返回这个可能有错误消息的 TransactionResult
?我认为我不应该让 Controller 负责管理事务,而是让它只将映射到域对象的 View 模型传递给服务并让它对其进行操作?
5) 另外,您想使用多少 ActionFilter?我知道这是一个巨大的扩展点,但我经常发现自己试图将所有模型创建填充到过滤器中。
最佳答案
这里只是基于我们工作方式的意见。
我们把 Controller 保持得很瘦,几乎在所有情况下,他们都会厌食。
对于 ViewModel,我们遵循为每个 View 都有一个 ViewModel 的模式。 Controller 加载它需要的任何东西,然后启动它。从那里开始,ViewModel 驱动一切。在我们的世界中,ViewModel 直接与 View 绑定(bind),并且不包含可以在应用程序的其他部分使用的代码。它与它需要的更大“模型”(服务层等)的任何部分进行交互,并将内容打包以供 View 使用。
对于你的#3 示例,我会说绝对是的 - 这就是我们使用 ViewModel 的方式。
再说一遍,这些都不是福音 - 只是我对我们如何处理它的看法。
关于asp.net-mvc - ASP.NET MVC - MVC 职责,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12165146/
我刚刚开始 iOS 应用程序开发,到目前为止,这是一次很棒的体验。 Apple 文档很棒,但我有一些问题不是技术性的,只有有经验的人才能回答。 我有一堆 UIViewController 处理它们控制
我几天前开始学习 react-redux-immutable,但我仍然对构建我的应用程序感到困惑。我有 php(symfony/laravel MVC 背景),所以要理解一些 javascript 概
每次查看 SharpDX 代码并尝试遵循 DirectX 文档时,我都会遇到困难。有没有一个地方清楚地列出了每个编号的类映射到什么以及它们存在的原因? 我说的是这样的事情: D
我正在使用 Robospice 库 创建应用程序。这是处理互联网连接的绝佳选择,因为库的核心是基于 Android 服务的,所以我们的连接与 Activity 生命周期无关。 我们正在创建我们的请求并
我可能在这里分析过度了,但是根据我对 MVC 的阅读,似乎有很多关于如何做事情的观点。 是否有一个“最佳实践”网站或文档来定义 MVC 各个部分的职责? 请记住,我使用 EF/Repository&U
我是一名优秀的程序员,十分优秀!