我需要一些资源来讨论如何设计可扩展的软件,即以便其他人可以编写为其添加功能的附加组件/插件。
你有什么建议吗?有没有讨论这个主题的书?
我更喜欢简短而切题的内容;一些理论和一堆具体例子。
我不针对特定的语言,我希望能够理解核心思想,以便我可以用任何语言实现它。
出于同样的原因,我不喜欢使用其他人构建的框架来执行此操作(除非该框架不是非常高级,即不隐藏too很多),目前我只想在这个主题上进行自我教育并尝试各种方法来实现它。另外,框架通常假设用户了解该主题。
UPDATE
我不是在询问 OOP 或允许继承我的类。我正在谈论设计一个将部署在系统上的应用程序,以便在部署后可以通过第三方附加组件对其进行扩展。
例如,Notepad++ 有一个插件架构,您可以将 .dll 文件放置在插件文件夹中,并且它向应用程序添加了不存在的功能,例如颜色选择、代码片段插入或许多其他功能(广泛的功能)。
如果我们谈论 .NET,请尝试使用 VBScript 编写 .NET 应用程序脚本 http://www.codeproject.com/KB/system/mScriptable.aspx在 CodeProject 上。那里有很多具体的例子。
以下是实施各种应用程序扩展技术的站点
- ClearScript - 使 V8、VBScript 和 JScript 可用于 .NET 应用程序 http://clearscript.codeplex.com
- CS-Script - C# 脚本引擎 http://www.csscript.net/
- 使用 C# 的插件架构 http://www.codeproject.com/KB/cs/c__plugin_architecture.aspx
- Opinio 插件架构 http://objectplanet.com/opinio/userguide/index.htm?page=plugin_architecture.html
- 关于 Eclipse 插件架构的注释 http://www.eclipse.org/articles/Article-Plug-in-architecture/plugin_architecture.html
- 适合初学者的插件架构框架 http://www.codeguru.com/cpp/misc/misc/plug-insadd-ins/article.php/c3879
- Gecko 插件架构 https://developer.mozilla.org/en/Plugin_Architecture
- Fungimol 插件架构 http://www.fungible.com/fungimol/plugin.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)