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程序实现了命名空间的效果。其中的变量、函数、组件提供的函数等都是通过类模块实现了,从而在代码里可以直接.出来。具体自己去体验吧。

 

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

 

目录
相关文章
|
1月前
|
安全 数据处理 数据安全/隐私保护
C/S架构与B/S架构的适用场景分析
C/S架构(客户端/服务器架构)与B/S架构(浏览器/服务器架构)在适用场景上各有特点,主要取决于应用的具体需求、用户群体、系统维护成本、跨平台需求等因素。
103 6
|
8天前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
12 1
|
4月前
|
缓存 C语言 计算机视觉
程序与技术分享:CPU0处理器的架构及应用
程序与技术分享:CPU0处理器的架构及应用
|
1月前
|
存储 监控 安全
SaaS业务架构:业务能力分析
【9月更文挑战第20天】在数字化时代,软件即服务(SaaS)模式逐渐成为企业软件解决方案的首选。SaaS 业务架构设计对于提供高效、可靠的服务至关重要。其核心业务能力包括:用户管理(注册登录、角色权限)、数据管理(存储备份、安全共享)、业务流程管理(设计定制、工作流自动化)、应用集成(第三方应用、移动应用)及客户服务(支持培训、反馈改进)。通过优化这些能力,可为企业提供更高效、可靠的 SaaS 服务。
40 11
|
1月前
|
缓存 负载均衡 数据管理
深入探索微服务架构的核心要素与实践策略在当今软件开发领域,微服务架构以其独特的优势和灵活性,已成为众多企业和开发者的首选。本文将深入探讨微服务架构的核心要素,包括服务拆分、通信机制、数据管理等,并结合实际案例分析其在不同场景下的应用策略,旨在为读者提供一套全面、深入的微服务架构实践指南。**
**微服务架构作为软件开发领域的热门话题,正引领着一场技术革新。本文从微服务架构的核心要素出发,详细阐述了服务拆分的原则与方法、通信机制的选择与优化、数据管理的策略与挑战等内容。同时,结合具体案例,分析了微服务架构在不同场景下的应用策略,为读者提供了实用的指导和建议。
|
2月前
|
消息中间件 负载均衡 Kafka
Kafka 实现负载均衡与故障转移:深入分析 Kafka 的架构特点与实践
【8月更文挑战第24天】Apache Kafka是一款专为实时数据处理和流传输设计的高性能消息系统。其核心设计注重高吞吐量、低延迟与可扩展性,并具备出色的容错能力。Kafka采用分布式日志概念,通过数据分区及副本机制确保数据可靠性和持久性。系统包含Producer(消息生产者)、Consumer(消息消费者)和Broker(消息服务器)三大组件。Kafka利用独特的分区机制实现负载均衡,每个Topic可以被划分为多个分区,每个分区可以被复制到多个Broker上,确保数据的高可用性和可靠性。
55 2
|
2月前
|
数据采集 存储 Java
Flume Agent 的内部原理分析:深入探讨 Flume 的架构与实现机制
【8月更文挑战第24天】Apache Flume是一款专为大规模日志数据的收集、聚合及传输而设计的分布式、可靠且高可用系统。本文深入解析Flume Agent的核心机制并提供实际配置与使用示例。Flume Agent由三大组件构成:Source(数据源)、Channel(数据缓存)与Sink(数据目的地)。工作流程包括数据采集、暂存及传输。通过示例配置文件和Java代码片段展示了如何设置这些组件以实现日志数据的有效管理。Flume的强大功能与灵活性使其成为大数据处理及实时数据分析领域的优选工具。
86 1
|
2月前
|
存储 算法 前端开发
JVM架构与主要组件:了解Java程序的运行环境
JVM的架构设计非常精妙,它确保了Java程序的跨平台性和高效执行。通过了解JVM的各个组件,我们可以更好地理解Java程序的运行机制,这对于编写高效且稳定的Java应用程序至关重要。
45 3
|
2月前
|
消息中间件 存储 大数据
大数据-数据仓库-实时数仓架构分析
大数据-数据仓库-实时数仓架构分析
114 1
|
2月前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
58 0