2

我目前正在开发一个类似 C# CMS 的 Web 应用程序,该应用程序将用于标准化我们的网站开发。从一开始,我们的想法就是让核心尽可能简单,以避免困扰许多 CMS 系统的复杂性和菜单/选项过载。这个简单的核心现在已经完成并且运行良好。

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

以正确的方式解决这个问题是至关重要的,所以我试图在加入之前尽可能多地进行尽职调查。

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

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

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

4

1 回答 1

1

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

于 2010-04-05T20:28:38.420 回答