asp.net-mvc-3 - MVC : Repository and Viewmodels both pattern together for better structure?

标签 asp.net-mvc-3 model-view-controller mvvm viewmodel view-model-pattern

如果我想结合使用每个实体的存储库和每个 View 的 View 模型,结果如何?

我可以查看任何网站提示吗?也许有人可以举一个简单的例子?

谢谢

最好的问候!

最佳答案

我喜欢以下结构(来自著名的 Steven Sanderson's Pro ASP.NET MVC series ):

域项目(业务逻辑):

  • 抽象文件夹(存储库接口(interface))
  • 具体文件夹(存储库实现)
  • 实体(EF 生成的类)

Web UI 项目(MVC Web App):

  • 模型(查看模型)
  • 浏览量
  • 控制者
  • 等等,你明白了

最主要的是您将业务逻辑(应该存放您的存储库)与您的 Web UI(MVC 项目)分开

在这种情况下,您的 Controller 类引用域层并使用 DI/IoC 调用存储库的正确实例。

示例 Controller 类:

namespace MyMvcProject
{
    using System.Whatever;
    using MyDomainLayer;

    public class MyController : Controller
    {
        private readonly IMyRepository _myRepository;

        public MyController(IMyRepository myRepository)
        {
            // Resolved using your favorite DI/IoC Container:
            this._myRepository = myRepository;
        }

        public ActionResult DoSomething()
        {
            var stuff = _myRepository.GetStuff();
            return View(stuff);
        }
    }
}

关于asp.net-mvc-3 - MVC : Repository and Viewmodels both pattern together for better structure?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9351863/

相关文章:

c# - MVC3 的好处?

c# - DropDownList - 以编辑形式显示的选定值

asp.net-mvc-3 - RedirectToAction 到另一个 Controller 中的操作不起作用

javascript - 一个 Backbone.js View ,它是一个简单的选择列表

c# - 模型演化架构设计查询

wpf - 具有多个子项的层次树

c# - 如何将 ObservableCollection 绑定(bind)到 AvalonDock DocumentPaneGroup?

asp.net-mvc - Ninject 注册每个请求

jquery - 如何使用 jQuery 简化 MVC View ?

model-view-controller - 应用架构MVC,MVVM等