DDD / SoC与Ninject设计问题?

时间:2011-03-07 17:34:27

标签: asp.net-mvc

所以我一直在努力去理解这个概念,但我正在取得进步:)

无论如何,我有一个问题,使用Service / Repository / UnitOfWork / EF 4 w / POCOS方法。

我的MVC应用程序可以引用我的Repository层,即References System.Data.Entity,将Ninject中的绑定设置为生活在那里的具体类,并且只要我使用接口驱动设计,就不会绑定我的MVC应用程序到EF。正确的吗?

仅通过引用引用System.Data.Entity的程序集,您是不是将MVC应用程序绑定到EF?

如果我错了,有人可以告诉我如何将接口绑定到MVC应用程序的Ninject模块中的存储库和unitfowork的具体类。

有道理吗?

1 个答案:

答案 0 :(得分:3)

  

仅通过引用引用System.Data.Entity的程序集,您是不是将MVC应用程序绑定到EF?

是的,你绑它但不应该打扰你。 MVC应用程序是Host应用程序,它需要将所有层和程序集聚合到部署在Web服务器上的最终产品并且正常工作。 Jeffrey Palermo有一个关于洋葱建筑的nice blog post你可能会看一看。在这种模式中,洋葱的外层知道内层而不是相反的内层(内层不应该知道外层)。 ASP.NET MVC应用程序是最外层。然后,您可以使用其他一些Host应用程序(例如WPF)更改外层,并重用内层。