VB程序架构分析

简介: 在08年,我曾经写过VB程序。前面也将该VB程序的架构剥离出来并发出来共享了(具体见http://www.cnblogs.com/lzhdim/archive/2012/03/08/2385028.html)。

 

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

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

 

下面对该架构做分析。

 

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

 

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

 

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

 

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

 

2、  接下来看APICoordinator模块。

 

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

 

3、  接下来看APIEnumerations模块

 

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

 

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

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

 

5、  接下来看Global类模块

 

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

 

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

 

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

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

 

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

1、  先看窗体。

 

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

 

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

 

2、  接下来看看AppConstants模块

 

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

 

3、  接下来看AppTypesDeclare模块。

 

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

 

4、  接下来看AppWin32API模块

 

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

 

5、  接下来看AppWindowProcess模块

 

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

 

6、  接下来看DLLRegister模块

 

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

 

7、  接下来看Helpers模块

 

 

8、  接下来看StartMain模块

 

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

 

9、  接下来看AppFunction类模块

 

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

 

10、 接下来看AppHelpers类模块

 

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

 

11、接下来看AppMsgProcess类模块

 

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

 

11、 接下来看AppVariables类模块

 

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

 

 

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

先添加组件

 

1.1 选择添加工程

 

 

1.2 选择新建ActiveX DLL 。

 

 

1.3 将DLL目录复制过去。

 

 

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

 

 

 

1.5添加完毕

 

 

接下来添加主程序

 

1.1 选择 添加工程

 

 

 

1.2 将目录复制过去

 

 

1.3 保存工程组

 

 

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

 

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

 

 

2、往AppConstants模块添加常量。

 

 

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

 

 

4、往AppFunction类模块添加函数

 

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

 

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

 

 

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

 

 

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

 

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

 

目录
相关文章
|
2月前
|
运维 监控 数据管理
Apollo与微服务架构:构建可扩展的应用程序
Apollo与微服务架构:构建可扩展的应用程序
|
3月前
|
缓存 网络协议 数据库连接
C/S架构中HTTP错误状态码原因分析及解决办法
HTTP(Hypertext Transfer Protocol)是用于在客户端和服务器之间传输数据的协议。当在浏览器或其他HTTP客户端中访问网页时,可能会发生各种访问报错。我们需要根据网页提供的错误状态码分析错误原因,以找到相对应的解决办法。
42 0
|
4月前
|
设计模式 前端开发 Java
KnowStreaming系列教程第二篇——项目整体架构分析
KnowStreaming系列教程第二篇——项目整体架构分析
42 0
|
4月前
|
人工智能 缓存 并行计算
技术改变AI发展:Ada Lovelace架构解读及RTX 4090性能测试分析(系列三)
简介:随着人工智能(AI)的迅速发展,越来越多的应用需要巨大的GPU计算资源。Ada lovelace(后面简称Ada)是NVIDIA最新的图形处理器架构,随2022年9月20日发布的RTX 4090一起公布。
135410 10
技术改变AI发展:Ada Lovelace架构解读及RTX 4090性能测试分析(系列三)
|
4月前
|
SQL 开发框架 安全
Linux系统中ARMv8架构u-boot启动流程分析
Linux系统中ARMv8架构u-boot启动流程分析
127 0
|
4月前
|
边缘计算 编译器 数据中心
X86架构与Arm架构的主要区别分析
X86架构与Arm架构的主要区别分析
470 0
|
28天前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
32 0
|
5月前
|
存储 并行计算 编译器
【计算机架构】程序指令计数 | 功耗计算 | 电力功耗 | 安德尔定律(Amdahl‘s Law)
【计算机架构】程序指令计数 | 功耗计算 | 电力功耗 | 安德尔定律(Amdahl‘s Law)
56 1
|
28天前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
51 0
|
1月前
|
存储 设计模式 前端开发
请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。
【2月更文挑战第26天】【2月更文挑战第89篇】请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。