level 11
warrially
楼主
前段时间研究了一下BPL方式的开发,刚好最近有个小项目,于是尝试了一下,项目已完成。
有一些心得和体会,写下来与大家分享,请大家提出不足,另外有在研究BPL方面的朋友,有问题可以大家
共同探讨,以便进得更快一些。
关于一个项目的总结 ( EXE+BPL+DLL 模式)
以前一直采用一个独立的EXE文件的方式做项目,当时的感觉就是方便,不用考虑得太多,把所有的业务逻辑功能
做完后,编译成一个EXE执行文件就OK了,因为一直没有研究过BPL这种框架的编程,最近研究了一下,感触很深,
这种模式才是更方便的。而且对于团队模式更是方便,只要把各Team的BPL拿来就完成了。基于这种思想,最近应
用到一个新的项目上,已初见成效,现对这个项目总结如下:
一、规划
BPL框架编程规划很重要,一个项目要分成N个BPL,每个BPL的作用、分工在分析时必须确定下来,这一点很重要。
本项目分为以下几种包:
(1)、DBCommon.
bp
l --> 数据模块包,包括数据模块、数据库读写类模块 (数据访问层)
(2)、pubComon.bpl --> 公共函数、过程单元,公共变量单元、自定义结构类型单元、自定义类单元
(3)、BaseForm.bpl --> 所有窗体的基类单元、业务逻辑基类窗体单元
在(3)的基础上,按照不同的业务逻辑,建立不同业务的业务包,例:A.bpl,B.bpl,C.bpl......
(4)、A.bpl --> 业务包1
(5)、b.bpl --> 业务包2 ......根据业务逻辑的分类,建立不同的业务包。
二、设计
包的应用是有先后的,一些基础包必须首先建立好,以便供其他包在建立时被应用,基础包在修改后,所有应用该
基础包的必须重新编译,而且顺序不能搞错。例: DBCommon.bpl-->BaseForm.bpl-->A.bpl 当DBCommon.bpl修改并
重新编译后,后面两个包必须重新编译,且先编译BaseForm.bpl,后编译A>bpl
BaseForm.bpl包中有整个项目的基类窗体单元,以及从该基类窗体继承的业务逻辑基类窗体单元,在基类窗体单元
中将整个项目的风格统一、包括字体,各控件包括第三方控件的样式、颜色等做到了规范统一,窗体关闭时应该释放的
内容等。而基类窗体的相关风格、样式是由主程序EXE在初始化时进行布局,这样如果想换风格,只要在公共变量单元中
修改相关的内容即可。
( 注:本项目没有使用皮肤,只是通过颜色等风格进行控制 )
例1:为了使DevExpress组件的风格与整个项目的风格一致,特别是TcxGrid在选用dxOffice11样式时的颜色,
因为dxOffice11默认的颜色是采用深蓝色的那种,为了使TcxGrid的颜色与整个项目的颜色配套,就必须
调整,包括线的颜色,这个设置在EXE初始化时得到了安排,这样设计后,整体效果比较理想。
例2:项目中也采用了第三方控件RZ组件,这也是一个很好的三方控件,这个控件也有一个很好的样式统一控件,
只要控制好就可以与项目的风格融合到一起了。例TrzFrameController、TrzMenuController等,就是为了
统一风格而使用的。设置好这两个非可视控件的样式,就可以达到控件所有使用这个风格的控件了。而主
程序只要在初始化时,设置它们的风格就可得到一劳永逸的效果。
三、调用
框架确定了,包功能完成了,余下来就是主EXE载入Bpl运行了。载入包分为动态和静态两种方式。根据业务的规
划,三种基础包DBCommon.bpl,pubComon.bpl,BaseForm.bpl是静态载入,由主EXE编译时加入作为必须使用的
2012年11月05日 01点11分
1
有一些心得和体会,写下来与大家分享,请大家提出不足,另外有在研究BPL方面的朋友,有问题可以大家
共同探讨,以便进得更快一些。
关于一个项目的总结 ( EXE+BPL+DLL 模式)
以前一直采用一个独立的EXE文件的方式做项目,当时的感觉就是方便,不用考虑得太多,把所有的业务逻辑功能
做完后,编译成一个EXE执行文件就OK了,因为一直没有研究过BPL这种框架的编程,最近研究了一下,感触很深,
这种模式才是更方便的。而且对于团队模式更是方便,只要把各Team的BPL拿来就完成了。基于这种思想,最近应
用到一个新的项目上,已初见成效,现对这个项目总结如下:
一、规划
BPL框架编程规划很重要,一个项目要分成N个BPL,每个BPL的作用、分工在分析时必须确定下来,这一点很重要。
本项目分为以下几种包:
(1)、DBCommon.
bp
l --> 数据模块包,包括数据模块、数据库读写类模块 (数据访问层)
(2)、pubComon.bpl --> 公共函数、过程单元,公共变量单元、自定义结构类型单元、自定义类单元
(3)、BaseForm.bpl --> 所有窗体的基类单元、业务逻辑基类窗体单元
在(3)的基础上,按照不同的业务逻辑,建立不同业务的业务包,例:A.bpl,B.bpl,C.bpl......
(4)、A.bpl --> 业务包1
(5)、b.bpl --> 业务包2 ......根据业务逻辑的分类,建立不同的业务包。
二、设计
包的应用是有先后的,一些基础包必须首先建立好,以便供其他包在建立时被应用,基础包在修改后,所有应用该
基础包的必须重新编译,而且顺序不能搞错。例: DBCommon.bpl-->BaseForm.bpl-->A.bpl 当DBCommon.bpl修改并
重新编译后,后面两个包必须重新编译,且先编译BaseForm.bpl,后编译A>bpl
BaseForm.bpl包中有整个项目的基类窗体单元,以及从该基类窗体继承的业务逻辑基类窗体单元,在基类窗体单元
中将整个项目的风格统一、包括字体,各控件包括第三方控件的样式、颜色等做到了规范统一,窗体关闭时应该释放的
内容等。而基类窗体的相关风格、样式是由主程序EXE在初始化时进行布局,这样如果想换风格,只要在公共变量单元中
修改相关的内容即可。
( 注:本项目没有使用皮肤,只是通过颜色等风格进行控制 )
例1:为了使DevExpress组件的风格与整个项目的风格一致,特别是TcxGrid在选用dxOffice11样式时的颜色,
因为dxOffice11默认的颜色是采用深蓝色的那种,为了使TcxGrid的颜色与整个项目的颜色配套,就必须
调整,包括线的颜色,这个设置在EXE初始化时得到了安排,这样设计后,整体效果比较理想。
例2:项目中也采用了第三方控件RZ组件,这也是一个很好的三方控件,这个控件也有一个很好的样式统一控件,
只要控制好就可以与项目的风格融合到一起了。例TrzFrameController、TrzMenuController等,就是为了
统一风格而使用的。设置好这两个非可视控件的样式,就可以达到控件所有使用这个风格的控件了。而主
程序只要在初始化时,设置它们的风格就可得到一劳永逸的效果。
三、调用
框架确定了,包功能完成了,余下来就是主EXE载入Bpl运行了。载入包分为动态和静态两种方式。根据业务的规
划,三种基础包DBCommon.bpl,pubComon.bpl,BaseForm.bpl是静态载入,由主EXE编译时加入作为必须使用的