我需要一些资源来谈论如何将软件设计为可扩展的,即让其他人可以编写可为其添加功能的附件/插件。
你有什么建议吗?有没有讨论该主题的书?
我希望简短而切合实际的东西;一些理论和一些具体的例子。
我没有针对特定的语言,我希望能够理解核心思想,以便可以用任何一种语言来实现它。
并且出于同样的原因,我不希望使用其他人构建的框架(除非该框架不是非常高级,即不会隐藏太多),此刻我只想对自己进行主题并尝试各种实现方式。另外,框架通常假设用户对主题的了解。
更新
我不是在问OOP或允许我的类被继承。我说的是设计一个将部署在系统上的应用程序,以便在部署后可以由第三方加载项扩展。
例如,Notepad ++具有一个插件体系结构,您可以在其中将.dll文件放置在plugins文件夹中,并且它为应用程序添加了不存在的功能,例如颜色选择,代码段插入或许多其他功能。 (广泛的功能)。