2010-04-05 42 views
2

我目前正在参与开发一个C#CMS类似的Web应用程序,它将用于标准化我们的网站开发。从一开始,这个想法就是保持核心尽可能简单,以避免复杂性和菜单/选项超负荷,使许多CMS系统受到影响。这个简单的核心现在已经完成并且工作得很好。创建可以通过插件/模块扩展的Web应用程序

我们设想系统将能够接受可扩展核心功能以满足特定项目需求的插件或模块。这些也可以跨项目重复使用。例如,可能需要基本目录和购物篮。所有这些扩展的代码应该在单独的程序集中。他们应该能够从这个库中提供他们自己的管理界面和前端代码。系统应搜索可用的插件并为管理员用户提供启用/禁用该功能的选项。 (这是大家都非常喜欢的WordPress插件)

至关重要的是,我们的攻击以正确的方式这个问题,所以我想在跳之前执行尽可能多的尽职调查成为可能。

我意识到插件模式(http://msdn.microsoft.com/en-us/library/ms972962.aspx)并阅读了一些关于它的使用的文章。这似乎是合理的,但我不相信这种情况必然是正确/最好的技术。它似乎更适合处理应用程序(图像/音频操作,数学等)。

是否有任何其他选项可以实现这种UI扩展功能?还是插件模式的路要走?

如果有人有链接到解释使用插件模式为此目的的文章,我也会感兴趣吗?

回答

1

托管扩展性框架(MEF)提供了一种专门用于构建可组合和可扩展应用程序的方法。它在.net 3.5的codeplex上,将在几周后发布时与.net 4捆绑在一起。这将有助于提供你需要做的事情。

+0

我还没有完全进入MEF的机会,但它看起来应该为问题提供解决方案。谢谢! – 2010-04-20 11:22:44

相关问题