网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
bpl插件系统开发
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
局的操作,例如ITracer等.

设计给了我们对软件更清晰的认识,3年后的今天,算是远远的看到了软件设计的大门.用周xx的话来说,这个世界前所未有的清晰..

这样的设计为什么能够说有扩展性呢?,

整个系统靠IMisDriver驱动起来,它使用接口来完成工作,每一个接口,你可以使用不同的方法来实现,并发布它(bpl形式),就像你从pc上拔掉了一个优盘,插上了另一个优盘,你就可以看到故事的后半部分.

再举个实际的例子:你原先的权限验证需要去掉,现在不再需要权限,那么你可以实现一个总返回"允许操作"的IAuthentic,发布出去,系统的执行行为整个就改变了.

这导致的结果是:IMisDriver说我需要哪些接口,你只要提供了相应数量和类型的接口,他就可以按照预先设定的调度来完成整个系统.

那么如果整个系统的调度需要变化怎么办呢?这在软件设计中简直就是灾难,但是在这样的插件系统下,你只需要修改IMisDriver,或者重新设计一个IDriver来驱动其他的接口,这样的改变已经最大可能的保证了软件的价值.

如何规划好你的系统,这将是日后软件复用,重构的重要因素,

理论不知道说的够清楚没有,之后的工作,将是枯燥的代码编写了,

总结一下,

1.面向接口,提供给插件式系统中插件开发成为可能.

2.bpl机制,很大程度上把我们从把插件本地化的工作中逃离,它的机制在delphi中特有,基于delphi我们能做的可能只有通过它来的最方便了

3.系统的设计对于哪怕是一个简单的系统来说,能更好的帮助你对产品有着更全面的思想.一定要做,那怕只是花两个圆呢.^_^

 

(水平有限,说不定错误百出,大家注意大牙别掉了,谢谢)

在这样的构想下,我们来做一个demos,

我们来定义如下的被IMisDriver驱动的接口,加入现在能想到的简单的应用,我们要作的工作如下

定义被驱动的接口
撰写IMisDriver的一个实现,用它来驱动各个接口,IMisDriver通过调用TPluginLoader的获得接口实例.
撰写每个接口的实现,并生成多个bpl
用TPluginLoader来载入这些插件,
主程序,实例化一个TPluginLoader,然后取得IMisLoader的实例,运行它.
我们先来完成第一步

unit InterfaceDefine;

interface

uses DBClient, midasLib, Types, classes;

type

    ITracer = interface
        [''{623B3A22-15CE-4555-B470-C3F4EBEE7EB4}'']
        procedure info( const msg: string );
        procedure error( const msg: string );
        procedure debug( const msg: string );
    end;

    ILogin = interface
        [''{082F9C02-B504-4417-ACEB-1C9E3410ADED}'']
        procedure login( const user, pwd: string );
        function loginByCookie( const user, pwd: string ): string;
    end;

    IUserInfo = interface
        [''{4DE53541-6FC3-44C7-BA27-49B0827625F0}'']
        function information: TObject;
    end;

    IAuthentic = interface
        [''{0E4BCF53-D685-4AC8-9C38-614117E59365}'']
        procedure valid( const actionId: string );
        procedure config;
     end;

    IDataService = in

  • 上一篇资讯: Delphi 的RTTI机制浅探
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号