欢迎来到天天文库
浏览记录
ID:34166633
大小:286.55 KB
页数:4页
时间:2019-03-03
《软件开发中插件框架的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据科技信息博士·专家论坛软件开发由插件框架帕实坝浙江海洋学院王德东浙江I业太学黄德才[摘要]插件(Plug—in)的思想在现代软件开盅中有看非常重要的作用,它在牧件重用性、可扩晨挂和可维护性等方面有着不可替代的地位.奉文敏速了插件的基本原理,并蛄台vB6磐出了一个基于插件框幕的例子.[关键词]牧件框菜插件vi3ubal陆iccoM1、插件基本原理插件框架的基本思想是:软件开发者预留一十公共接口。软件作者或需要二次开发的用户,根据公共接口标准制作插件.插件的运行由主控模块统一调度。这里有个比较重要的同题就
2、是,如何规定公共接口?接口设计的好坏决定了你的系统是否灵活,这需要设计者扎实的编程功底和详细的需求分析。2、插件的分娄插件可以分为文本文件配置类、脚本文件类和独立程序类.严格来讲前面两种不能算是真正意义上的插件,因为文本插件大都用于应用程序的配置.例如数据库的连接配置.软件的皮肤设置等}脚本插件则需要有一十解释器,类似于编译器,必须要考虑所有可能的情况}而第三种才是名副其实的插件,是一段二进铡程序,插件的作者可以根据接日艇范开发任意他想要的功能,这是前面两种插件难以做到的.3、coM简介所谓∞M(compo耻
3、tobjectModel)是一种说明如何建立可动杰互变组件的规范,此规范提供了为保证能够互操作,客户和组件应遵循的一些二进制和网络标准.通过这种标准将可以在任意两十组件之间进行通信而不用考虑其所处的操作环境是否相同、使用的开发语言是否一致以及是否运行于同一台计算机土.从其定义我们看到coM的优点:首先。用户一般希望能够定制所用的应用程序,而组件技术从本质上讲就是可被定制的,因而用户可以用更能满足他们需要的某个组件来替换原来的那十。其次,由于组件是相对应用程序独立的部件,我们可以在不同的程序中使用同一个组件.这
4、样软件的可重用性将得到极大的增强。第三。随着阿络带宽的提高,分布式网络应用程序将毫无疑同的成为软件市场上越来越重要的亮点.基于以上coM的特点,我们的插件软件框架可以用coM来实现。4、基予Ⅷ6的插件框架实例由于VB6是基于对象(coM)的而不是纯粹的面向对象的开发工具,所以vB6替我们掩盖了许多的技术细节。使得你不需要懂得许多复杂的c0M知识就可以开发和使用coM,这样就可以腾出大量的精力来考虑业务逻辑.在下面的这十测试初等数学运算能力的例子里.程序主体完成了加法运算(此处仅仅显示了一个对话框),在插件里完
5、成减法运算,当然读者可以增加乘法和除法运算等插件。4.1主程序新建一个标准EXE工程PLqgin并引用类型库研peLibhhfo}建立菜单mnuMa出和mntlopentbn(二级菜单).并将二级菜单设为数组,便于后面的事件处理.4.2在宙体的声明部分定义DiⅢ帅elnfoA5TypeLibInfo’定义c0M类型信息变量“maP∞gID()A8String’定义存放插件数组4.3事件过程介绍PrivateSubGetFile()’获得当翦且录下循件文件名并设置菜单DimsDirA3St血gDimiA8Lon
6、窖5Path—App.P且th&。\plugi姗。’插件统一存放在plug-im目录下sFEXT高一-.DLp’插件类型BDir一Ⅸr(strPath&。V&BFEXT)DDW1lileLen(BDir)i置i+1ReDimPrⅧmaP‘ogID(1Toi)typeI山.ContainingFile重日Path8L4V&日DiraProgID(i)=typeInfo.C∞la5s瞄.Item(1).Parent.Nam&一。.”&typeInf0.Cocla55eo.Item(1).N帆e’获得插件的Prog
7、lDSetM曲u‘yPch曲.HelPs打崦’动态设置菜单,用插件描述信息作为菜单的c印t硫8Dir=DkL∞pEndSubPriv毗eSubSetMe加(M曲她ption缸String)’动态增加菜单“miAJInto驴ri=皿n“)pcmdon.(kuntLo丑d血Iuoper舭ion(i)mnu()penti锄(i).Capdon=MenuCapti叫mnuopefati∞(i).VisIble=Tr恤EIldSubPrivdteSub妯uoperaⅡ挑一clickcIndexAsInt。驴r)’菜单事
8、件DimobjABObje吐DimnrP。。gIDA8StfingIfIIIdex=OThenexit5ub5trProgm—aP∞91D(hdex)setobj=cr阻teObject(5trP‘ogm)setobj—NothingEndSub作誊简介,王硅末·新江海洋学院计算辊评弹(1068一).矗..新江工亚太学在职嘎士.主要研兜茸磕面向对摹越木盅薅.蠢疆摩应再、^工智惶午.黄詹才·并(195
此文档下载收益归作者所有