Asp.net mvc DDD/SoC,带项目设计问题?

Asp.net mvc DDD/SoC,带项目设计问题?,asp.net-mvc,Asp.net Mvc,因此,我一直在努力理解这个概念,但我正在取得进展:) 无论如何,我有一个问题,使用Service/Repository/UnitOfWork/ef4w/POCOS方法 我的MVC应用程序可以引用我的存储库层,该层引用System.Data.Entity,以在Ninject中设置绑定到驻留在那里的具体类,并且只要我使用接口驱动设计,就不会将我的MVC应用程序绑定到EF。对吗 仅通过引用引用System.Data.Entity的程序集,您并没有将MVC应用程序绑定到EF 如果我错了,请有人告诉我如何

因此,我一直在努力理解这个概念,但我正在取得进展:)

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

我的MVC应用程序可以引用我的存储库层,该层引用System.Data.Entity,以在Ninject中设置绑定到驻留在那里的具体类,并且只要我使用接口驱动设计,就不会将我的MVC应用程序绑定到EF。对吗

仅通过引用引用System.Data.Entity的程序集,您并没有将MVC应用程序绑定到EF

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

有什么意义吗

仅通过引用引用System.Data.Entity的程序集,您并没有将MVC应用程序绑定到EF

是的,你正在打领带,但这不应该打扰你。MVC应用程序是主机应用程序,它需要将所有层和程序集聚合到最终产品中,最终产品部署在web服务器上并正常工作。杰弗里·巴勒莫(Jeffrey Palermo)有一个关于洋葱(onion)的架构,你可以看看。在这种模式中,洋葱的外层知道内层,但不知道反面(内层不应该知道外层)。ASP.NET MVC应用程序是最外层。然后,您可以简单地使用其他主机应用程序(例如WPF)更改外层,并重用内层

仅通过引用引用System.Data.Entity的程序集,您并没有将MVC应用程序绑定到EF


是的,你正在打领带,但这不应该打扰你。MVC应用程序是主机应用程序,它需要将所有层和程序集聚合到最终产品中,最终产品部署在web服务器上并正常工作。杰弗里·巴勒莫(Jeffrey Palermo)有一个关于洋葱(onion)的架构,你可以看看。在这种模式中,洋葱的外层知道内层,但不知道反面(内层不应该知道外层)。ASP.NET MVC应用程序是最外层。然后,您可以简单地用其他主机应用程序(例如WPF)更改外层,并重用内层。

是的,我查看了Onion架构,信不信由你,它对我来说完全有意义,我只是一直在脑子里想着要维护IoC,MVC应用程序除了它正下方的层之外什么都不知道,但在洋葱架构中,它说的恰恰相反,实际上你可以引用你下面的任何层。故事的寓意是,从MVC应用程序中引用存储库层是可以的,事实上你必须这样做,对吗?@Sam Striano,你必须从程序集引用的角度来引用它。但当然,你的控制器永远不应该知道任何关于它的事情,只使用它的抽象。我想它终于点击了!!谢谢你的帮助,你是一位绅士和学者!是的,我看了洋葱架构,信不信由你,它对我来说完全有意义,我只是一直在脑子里想,为了维护IoC,MVC应用程序除了它下面的层之外,什么都不知道,但在洋葱架构中,它说的恰恰相反,实际上,您可以参考您下面的任何图层。故事的寓意是,从MVC应用程序中引用存储库层是可以的,事实上你必须这样做,对吗?@Sam Striano,你必须从程序集引用的角度来引用它。但当然,你的控制器永远不应该知道任何关于它的事情,只使用它的抽象。我想它终于点击了!!谢谢你的帮助,你是一位绅士和学者!我认为它是一个依赖树。在您的例子中,root是mvc应用程序。根目录可以只与它的子目录(存储库层)通信。但要让一切正常工作,根的所有后代都必须存在。我认为它是一个依赖树。在您的例子中,root是mvc应用程序。根目录可以只与它的子目录(存储库层)通信。但要让一切都起作用,所有根的后代都必须在场。