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

(黑龙江八一农垦大学,黑龙江 大庆 163319)
摘 要:文章通过分析软件分层设计的优点,提出了对用户界面与业务逻辑进行分离,通过接口或抽象类实现两者间通信的方法,并对业务逻辑进行封装成动态链接库,以达到数据资源共享的目的,解决了应用逻辑重复使用问题,增加了系统的可复用性、可扩展性和健壮性。
关键词:分层设计;界面与业务逻辑分离;动态链接库
中图分类号:TP31 文献标识码:A 文章编号:1007—6921(2008)10—0142—02


三层结构是开发C/S或B/S系统经常采用的策略,这种分层方式将系统分为用户服务、业务服务和数据服务三部分,能够解决客户端与服务器结构维护成本问题、改善客户端与服务器结构延展性问题;解决应用逻辑重复使用的问题;还能够满足整合不同系统结构的需要与及时应用新技术的需要。但在实际应用中,如何更好的利用这种分层方式来解决实际项目中的问题,一直是程序设计者不断探索的方向。本文主要就DLL封装业务逻辑的实现方法进行探讨。
1 界面与业务逻辑的分离


MIS系统经常采用C/S结构来处理,在实际使用中用户界面与业务处理并没有进行详细的区分,这样编写出来的程序层次复杂,不仅阅读不够清晰,对于以后进行修改和维护也会遇到很大的困难,同时降低了代码的可复用性与可扩展性,所以在编写程序时需要将界面与业务逻辑进行分离,以此来降低数据的传输量、减少对客户端影响以及增强系统的安全性和健壮性,提高程序的可复用性和可扩展性。在用户层与业务层分离时,应尽量使客户端更“瘦”,将复杂的算法和业务逻辑规则放在中间层来处理,而数据层只用来保证提供给中间层所有的数据和操作能够正常进行。


例如:在进销存系统中对于货品的销售过程中供应商提供了对某种货品的保价处理,那么在销售时就不能对保价货品随意出售,需要对商品进行保价检查,如果是保价商品,则需经过特别处理或者不予销售,而对非保价商品就可以直接进行销售。下面是一段处理代码:
If No_BJ then //No_bj变量用来确定该商品是否是保价商品
Begin
{保价或不予销售代码}
{界面处理代码a}
End
Else
Begin
{销售代码}
{界面处理代码b}
End
上面这段代码将业务处理代码与界面处理代码放在一起,我们可以使用下面的代码对其进行
分离:
Function Sfbj_Sp(no_bj:boolean):Boolean;
Begin
If no_bj then
Begin
{保价或不予销售代码}
Result:=true;
End
Else
Begin
{销售代码}
Result:=false;
End;
End;
此段代码放在业务处理中,界面中有下面这段代码:
If Sfbj(no_bj) then
Begin
{界面处理代码a}
End
Else
Begin
{界面处理代码b}
End;


分析这两段代码的不同点,从中可以看出,后面这段代码使界面处理与业务处理分开来进行,从而使代码结构更加清晰、简洁;更重要的是,即使对界面和业务逻辑进行维护和修改,只需修改各自的处理代码就可以了,增加了独立性,同时也增加了程序的可复用性和可扩展性。
2 DLL封装业务逻辑


动态链接库给应用程序提供了一种调用不在其执行代码中的函数的技术。而在这里为了给更好的复用业务处理代码和全局变量,Dll用来对业务逻辑进行封装,使业务逻辑部分和界面部分分别形成Dll和Exe文件,从而使程序的执行更加高效。


为了实现对业务逻辑的封装,首先要定义业务类,然后对其进行继承,实现具体的业务代码。对于界面部分与业务部分的通信可以采用定义接口的形式来完成,在Delphi中我们可以使用Interface或抽象类来具体实现,但在实现中要保持接口的稳定,不能随意对其进行更改。如果想以后对其进行扩展或复用,还可以通过预留接口的方式来解决未来功能增长的需要。具体实现以下面这个例子来说明。
2.1 首先是对库存接口单元的定义,

网学推荐

免费论文

原创论文

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