【发布时间】:2013-11-03 18:23:28
【问题描述】:
我正在尝试创建一个可以使用插件进行扩展的基本 MVC4 应用程序,因此该应用程序的未来开发人员不必弄乱它的源代码。 从(部分)视图到数据访问和 api 控制器的扩展。
目标是开发人员必须能够创建单独的插件项目,构建项目,然后将适当的文件放入插件文件夹,而无需重新构建基础应用程序。 插件文件夹将存储在应用程序的根目录中,并包含每个插件的文件夹,即; web.presentation.statistics.chart1 和 web.api.products.failrate
我看过几个主题,例如; MEF、OSGi.NET、MVC 领域、mvccontrib 等以及许多文章和博客,但它们要么已经过时,要么不符合我的要求。
nopCommerce plug-ins are written 的方式很有趣,但我必须承认源代码对于像我这样的人来说太复杂了,对所有插件相关的开发都是新手。
我希望你能指引我正确的方向,并可能为我指出一些可以帮助我的技术或框架。 非常感激。
【问题讨论】:
-
旁注:创建可重用架构很难。如果您想制作一个可接受的系统,请确保使用您的架构为至少 3 个不同的系统进行规划,以验证和完善所有决策。在您的情况下,您需要至少 3 个由其他人开发的完整插件(除了您创建的几个测试/演示版本),然后才能声明系统正常工作。让其他人为您未经证实的项目编写代码可能是个问题 - 提前准备/计划。
标签: c# asp.net-mvc-4 plugins architecture