如果我想结合使用每个实体的存储库和每个 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/