【发布时间】:2012-01-19 06:54:29
【问题描述】:
ASP.NET 提供程序模型是一项伟大的技术,可以解决允许某人将某些功能的单独实现“插入”到 Web 应用程序中的问题。 Provider 模型在实现需要配置时通常有点痛苦,因此它的使用最少。
IOC 是确保在应用程序的每个级别分离关注点的好方法,因此广泛使用它来支持所有组件的单元测试是很好的。
如果 Web 应用程序正在使用 IOC 容器,那么使用 Provider 模型似乎也是错误的,因为您似乎在抽象出已经抽象出来的东西,从而产生了两个级别的复杂性(可能除了现有的提供者 - 我我正在谈论制作自定义提供程序)。
(在我的博文中查看更多信息:http://healthedev.blogspot.com/2011/12/making-custom-built-applications.html)
我正在为 IOC 使用 AutoFac,并且可以允许“配置覆盖”,因此这似乎是满足 Provider 模型给我的相同解决方案的一个很好的选择,但是我不太了解 MEF 如何满足这个要求还是我缺少其他东西?
如果您可以从头开始设计 ASP.NET MVC Web 应用程序,并且要求您必须转售打包版本,以便其他人可以“插入”某些数据访问,而无需重新编译,您将如何实施?
【问题讨论】:
标签: asp.net-mvc inversion-of-control mef autofac provider-model