[讨论] 关于插件框架式程序的讨论 ( 积分: 100 )

  • 主题发起人 主题发起人 HNXXCXG
  • 开始时间 开始时间
H

HNXXCXG

Unregistered / Unconfirmed
GUEST, unregistred user!
插件框架式程序已经不是一个新话题了,发现大家在平日讨论或者在大家的文章中都讨论到了通讯协议、版本控制等。但是我们的插件也是有可能发生错误,而对于插件内发生的错误如果没有进行处理的话,就会导致整个程序崩溃。

虽说可以与开发插件的程序员约定要进行可能的错误捕获,但是人为失误还是可以存在。是否可以实现在主程序中对未处理的插件错误进行统一处理,提供错误宽容度等设定呢?

小弟在此提出一个讨论话题,欢迎各位高手各抒己见,共同提高。
 
普通的系统,在编译发布之后,系统就不允许进行更改或扩充了,如果要进行某个功能的扩充,则必须要修改代码重新编译发布。使用插件可以很好地解决这个问题。

首先由开发人员编写系统框架,并预先定义好系统的扩展借口。插件由其他开发人员根据系统预定的接口编写的扩展功能,实际上就是系统的扩展功能模块。插件都是以一个独立文件的形式出现。

对于系统来说并不知道插件的具体功能,仅仅是为插件留下预定的接口,系统启动的时候根据插件的配置寻找插件,根据预定的接口把插件挂接到系统中。
优势
一、系统的扩展性大大地加强了。如果我们在系统发布后需要对系统进行扩充,就不必重新编译,只需要增加或修改插件就可以了。

二、有利于模块化的开发方式。我们可以开发强大的插件管理系统,在这样的一个插件系统下,我们可以不修改基本系统,仅仅使用插件就能构造出各种各样不同的系统。

Eclipse是众多“可供插入的地方”(扩展点)和“可以插入的东西”(扩展)共同组成的集合体。在我们的生活中,电源接线板就是一种“扩展点”,很多“扩展”(也就是电线插头)可以插在它上面。

Eclipse整个IDE就是一个插件,他提供了新的扩展点供其他插件来扩展。
 
Eclipse Plugin Framework是一套非常成功的插件框架结构,它的架构师之一就是鼎鼎大名的Erich Gamma,设计模式的作者之一。Eclipse JDT就是架构在这个插件平台上的一个杰出的Java IDE。Eclipse 良好的插件架构也形成了很好的"An architecture of participation",你可以在Eclipse的社区中找到各种各样的插件,这些插件又极大的扩充了Eclipse的功能,提高了易用性。
 
http://dev.yesky.com/334/2032334_1.shtml
 
http://blog.csdn.net/jackhatedance/archive/2006/08/23/1107779.aspx
 
发现网上有几个DELPHI写的插件架构都要卖钱的
 
http://blog.csdn.net/musicwind/archive/2004/06/26/7136.aspx
 
http://www.2ccc.com/article.asp?articleid=2665
 
接受答案了.
 
后退
顶部