VB程序架构分析

Posted on 2014-01-30 18:58  lzhdim  阅读(3438)  评论(8编辑  收藏  举报

 在08年,我曾经写过VB程序。前面也将该VB程序的架构剥离出来并发出来共享了(具体见http://www.cnblogs.com/lzhdim/archive/2012/03/08/2385028.html)。这些天快过年了,也没啥事,就想将该架构做个分析,仅做留念吧。

下面是该VB架构的主要部分:

 VB程序架构分析_C

下面对该架构做分析。

 

首先看看LogHelper这个组件。使用组件的好处是将各个不同用途的代码封装起来,以达到分层或者让程序的架构看起来更舒服。我这里讲组件看做主程序的插件使用。后续如果要编写使用插件的VB程序,可以进行参考。。。

 VB程序架构分析_VB_02

1、  frmAbout是个关于窗口,用于显示该组件的相关属性

 VB程序架构分析_C_03

后面在主程序里如果使用该组件,可以通过调用该组件的一个API函数来显示该组件的相关属性信息。

 VB程序架构分析_C_04

该窗体的代码也很简单,就是一个调用API函数显示该组件的相关信息。基本上每个组件都有该窗体

 

2、  接下来看APICoordinator模块。

 VB程序架构分析_VB_05

这个APICoordinator模块主要声明该组件使用到的Windows API函数定义。基本上每个组件都有该模块

 

3、  接下来看APIEnumerations模块

 VB程序架构分析_C_06

这个APIEnumerations模块主要声明了该组件使用到的枚举对象。基本上每个窗体都有该模块。

 

4、  接下来看看DLLInfo这个类模块

 这里从代码可以看出该类模块主要提供了一个API函数以获取该组件的相关信息。基本每个组件都有该类模块。

 VB程序架构分析_C_07

5、  接下来看Global类模块

 VB程序架构分析_C_08

该类模块主要对外提供公共的对象声明。基本每个组件都有该类模块。

 

6、  接下来看看MainAPI这个类模块。

 VB程序架构分析_架构设计_09

MainAPI就是该组件的主要模块了。这里将该组件的主要代码和实现的功能进行存放。

这里有句Private mDLLInfo As LogHelper.DLLInfo 就是将该组件的DLLInfo这个类模块进行了声明以供主程序调用显示。

 

接下来对主程序架构进行分析。

1、  先看窗体。

 VB程序架构分析_架构设计_10

这里只提供了主窗体Main和欢迎窗体Splash。提供欢迎窗体的好处就是对主程序进行初始化。

 VB程序架构分析_架构设计_11

欢迎窗体主要实现该软件的相关基本信息。

 

2、  接下来看看AppConstants模块

 VB程序架构分析_架构设计_12

该模块主要声明了主程序使用到的各个常量。

 

3、  接下来看AppTypesDeclare模块。

 VB程序架构分析_C_13

该模块主要声明了主函数使用到的类型,从上图可以看出定义了一个消息枚举。

 

4、  接下来看AppWin32API模块

 VB程序架构分析_VB_14

该模块主要声明了主程序主要使用到的Windows API函数。这里没对各个API函数进行注释,请使用到的各位自己注释。

 

5、  接下来看AppWindowProcess模块

 VB程序架构分析_C_15

该模块单独提出来,对主程序接收的消息进行处理。

 

6、  接下来看DLLRegister模块

 VB程序架构分析_VB_16

该模块主要提供对使用到的DLL或者以后要使用的插件DLL进行注册以进行调用。

 

7、  接下来看Helpers模块

 VB程序架构分析_C_17

 

8、  接下来看StartMain模块

 VB程序架构分析_C_18

该模块提供了主程序的入口。主要对主程序进行初始化。

 

9、  接下来看AppFunction类模块

 VB程序架构分析_架构设计_19

该类模块主要声明了主程序使用到的各个函数。

 

10、 接下来看AppHelpers类模块

 VB程序架构分析_VB_20

该模块主要对各个使用到的组件进行声明,以便进行调用。

 

11、接下来看AppMsgProcess类模块

 VB程序架构分析_架构设计_21

该模块主要提供了各个消息对应需要处理的函数。

 

11、 接下来看AppVariables类模块

 VB程序架构分析_C_22

该类模块主要提供了主程序使用到的变量声明。

 

 

接下来对使用该架构进行描述。

先添加组件

 

1.1 选择添加工程

 VB程序架构分析_VB_23

 

1.2 选择新建ActiveX DLL 。

 VB程序架构分析_VB_24

 

1.3 将DLL目录复制过去。

 VB程序架构分析_C_25

 

1.4 选择添加窗体、模块、类模块

 VB程序架构分析_C_26

 VB程序架构分析_VB_27

 

1.5添加完毕

 VB程序架构分析_架构设计_28

 

接下来添加主程序

 

1.1 选择 添加工程

 VB程序架构分析_C_29

 VB程序架构分析_架构设计_30

 

1.2 将目录复制过去

 VB程序架构分析_C_31

 

1.3 保存工程组

 VB程序架构分析_VB_32

 VB程序架构分析_架构设计_33

接下来就是对该架构进行修改以实现功能了。。。

 

1、修改StartMain.bas模块中的启动代码。

 VB程序架构分析_C_34

 

2、往AppConstants模块添加常量。

 VB程序架构分析_架构设计_35

 

3、往AppHelpers类模块添加组件声明

 VB程序架构分析_C_36

 

4、往AppFunction类模块添加函数

 VB程序架构分析_C_37

这里添加了初始化和结束主程序的代码。。。

 

5、往AppMsgProcess类模块添加消息处理代码

 VB程序架构分析_C_38

 

6、往AppVariables类模块里添加变量

 VB程序架构分析_VB_39

 

该架构的好处,就是基本让VB程序实现了命名空间的效果。其中的变量、函数、组件提供的函数等都是通过类模块实现了,从而在代码里可以直接.出来。具体自己去体验吧。

 

好了,到这里该架构基本介绍完毕,剩下的就是对该架构代码进行补充以实现主程序的功能了。