合理的自定义扩展点.doc_第1页
合理的自定义扩展点.doc_第2页
合理的自定义扩展点.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

合理的自定义扩展点关键字: eclipse extension point 自定义扩展点 Eclipse中提供了各种各样的用于扩展Eclipse功能的扩展点。有时候,我们也要考虑提供合适的自定义扩展点来使用得应用的实现和扩展更加简单容易。例子一:例如以前做了一个编辑SA中各种SU的配置文件的扩展,一开始做法就很傻,把所有的类型的编辑实现都在一个插件实现类中,然后在createControl()的时候,根据用户选择的类型,就会有大致如下的实现方式:if(.) a.createControl();else if(.) b.createControl();.后来我就建议他们稍稍修改一下,定义一个扩展点来实现不同类型的选择,例如定义一个扩展点:com.type.editor然后实现的时候需要提供一个type类型和一个对应的实现类:例如 type=file class=com.FileTypeEditor剩下的就是加载扩展点,根据type查找对应的Editor实现。这个实现方式明显比之前要好很多:首先:代码结构明显清晰很多再次:可以自由的增加和减少实现类型而不用修改代码最后:可以自由修改匹配类型而不用修改代码例子二:写一个简单的代码统计工具,用来统计当前选择文件或文件夹里的代码行数。现在语言和脚本类型这么多,不可能通过一个长长的判断语句来把所有的统计类型都考滤进去,何况还有各种新语言层出不穷;例如properties文件就认为#是注释、bat文件里rem是一个注释、java里有/* */等等。所以一个良好的实现就是提供一个统计类的扩展点用来提供各种对应类型的统计方式。例如:Java代码 1. 3. 6. 7. 10. 11. 在自定义扩展点时,有一点很重要:提供一个良好的继承类或接口。很难考滤的一点给用户足够的信息。有时无法预测用户究竟需要哪些信息。例如我做一个SCA BPEL组件时,要从XPDL文件生成一个直接可部署的包里。因为那些Activity可能有各种各样的类型,每个类型都可能有一个单独的实现,所以我需要提供一个扩展点用以给各种实现类型一个自己在扩展来给出他们的信息以实现打包工能,最大的问题就是:无法预

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论