我们如何在面向对象编程中创建插件/扩展?

时间:2011-01-24 00:52:37

标签: oop design-patterns

软件如何允许开发人员在其核心之上创建插件/扩展?这与面向对象编程有什么关系?也许继承或接口?应该使用什么样的设计模式?

例如,增强firefox,wordpress扩展等的firefox扩展。这些系统在安装并运行良好之后会“识别”插件,在某些情况下,它们会执行安全检查,依赖性等。

有人关心这个吗?

2 个答案:

答案 0 :(得分:0)

像firefox这样的实际应用程序中的插件模型可能比一般情况下更复杂。一般来说,你定义一个插件应该实现的接口,并在你的插件中实现它,就是这样。 现代框架包含插件开发工具,如.NET中的MEF,Java中的mojo等。

答案 1 :(得分:0)

Java通过其SPI(服务提供程序接口)支持基本的插件机制。主要机制围绕新提供者的发现和绑定。以下两篇文章将帮助您入门

  1. Replaceable Components and the Service Provider Interface
  2. Creating Extensible Java Applications
  3. 有一些比JDK提供的更强大的开源框架

    1. JPF
    2. JSPF
    3. 但在我看来,OSGi是所有插件框架的标准和母版。