我需要一些资源来讨论如何设计可扩展的软件,即以便其他人可以编写为其添加功能的附加组件/插件。
你有什么推荐?有没有讨论这个主题的书?
我更喜欢简短而切题的内容;一些理论和一堆具体例子。
我不针对特定的语言,我希望能够理解核心思想,以便我可以用任何语言实现它。
出于同样的原因,我不喜欢使用其他人构建的框架(除非该框架不是非常高级,即不会隐藏太多),在目前我只想在这个主题上进行 self 教育并尝试各种方法来实现它。另外,框架通常假设用户了解该主题。
更新
我不是在询问 OOP 或允许继承我的类。我正在谈论设计一个将部署在系统上的应用程序,以便在部署后可以通过第三方附加组件对其进行扩展。
例如,Notepad++ 有一个插件架构,您可以将 .dll 文件放置在插件文件夹中,它会向应用程序添加不存在的功能,例如颜色选择或代码片段插入,或者许多其他东西(广泛的功能)。
最佳答案
如果我们谈论的是 .NET,请尝试 Scripting .NET applications with VBScript在 CodeProject 上。那里有很多具体的例子。
以下是实现各种应用程序扩展技术的站点
关于language-agnostic - 如何设计可扩展的软件(插件架构)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/323202/