【发布时间】:2023-03-22 02:30:01
【问题描述】:
我目前正在开发一个类似于 C# CMS 的 Web 应用程序,该应用程序将用于标准化我们的网站开发。从一开始,我们的想法就是让核心尽可能简单,以避免困扰许多 CMS 系统的复杂性和菜单/选项过载。这个简单的核心现在已经完成并且运行良好。
我们设想系统将能够接受插件或模块,这些插件或模块将扩展核心功能以满足给定项目的需求。这些也可以跨项目重复使用。例如,可能需要基本目录和购物篮。此类扩展的所有代码都应位于单独的程序集中。他们应该能够从这个库中提供自己的管理界面和前端代码。系统应搜索可用插件并为管理员用户提供启用/禁用该功能的选项。 (这都非常像 WordPress 插件)
以正确的方式解决这个问题至关重要,因此我会在开始之前尽可能多地进行尽职调查。
我知道插件模式 (http://msdn.microsoft.com/en-us/library/ms972962.aspx) 并阅读了一些关于它使用的文章。这似乎是合理的,但我不相信它一定是这种情况下的正确/最佳技术。它似乎更适合处理应用程序(图像/音频处理、数学等)。
还有其他选择可以实现这种 UI 可扩展性功能吗?或者插件模式是要走的路?
如果有人有文章的链接解释使用插件模式用于此目的,我也很感兴趣?
【问题讨论】:
标签: c# asp.net plugin-pattern