我目前正在开发一个类似C#CMS的Web应用程序,它将用于标准化我们的网站开发。从一开始,我们的想法就是尽可能简化核心,以避免困扰许多CMS系统的复杂性和菜单/选项过载。这个简单的核心现在已经完成并且运行良好。
我们设想系统能够接受插件或模块,这些插件或模块将扩展核心功能以满足给定的项目需求。这些也可以在项目中重复使用。例如,可能需要基本目录和购物篮。此类扩展的所有代码都应该在单独的程序集中。他们应该能够从这个库提供自己的管理界面和前端代码。系统应搜索可用插件,并为admin用户提供启用/禁用该功能的选项。 (这与WordPress插件非常相似)
我们以正确的方式解决这个问题至关重要,所以我试图在跳入之前尽可能多地进行尽职调查。
我知道插件模式(http://msdn.microsoft.com/en-us/library/ms972962.aspx),并阅读了一些关于它的使用的文章。这似乎是合理的,但我不相信这对于这种情况来说一定是正确/最好的技术。它似乎更适合处理应用程序(图像/音频操作,数学等)。
是否还有其他选项可用于实现此类UI可扩展性功能?或者插件模式是要走的路?
如果有人链接到解释为此目的使用插件模式的文章,我也会感兴趣吗?
答案 0 :(得分:1)
托管扩展性框架(MEF)提供了一种专门用于构建可组合和可扩展应用程序的方法。它位于.net 3.5的codeplex上,并将在几周内发布时与.net 4捆绑在一起。它将有助于提供您正在尝试做的事情所需的管道。