VB.NET分层开发的几点心得

VB.NET分层开发的几点心得,第1张

从这一章开始 我们将通过一个系列的讲座来向诸位展现Visual Basic Net的独特魅力以及使用它开发应用程序的基本方法 Visual Basic Net是微软公司在 年推出的一种开发基于 Net平台应用程序的开发语言 也是微软公司极力推荐的一种开发 Net平台应用程序的开发语言 首先还是让我们来简单了解一下Visual Basic Net和其前一个版本 也是目前世界上拥有最多使用者的开发语言 Visual Basic 的主要区别 一 Visual Basic和Visual Basic Net的主要区别 虽然说Visual Basic Net是Visual Basic 的后继版本 但在我看来Visual Basic Net除了在语法上还保留Visual Basic原有的踪影以外 因为二者几乎在 %以上保持相似或相同 但在其他很多方面 Visual Basic Net都和Visual Basic截然不同 也许正是这些不同点 才使得Visual Basic Net功能更强大 更有生命力 但同样也为Visual Basic程序员转型为为Visual Basic Net程序员带来了困难 因为Visual Basic Net提出了很多新的功能 概念和观点 掌握Visual Basic Net不仅要掌握语法 还需要理解并运用这些新的功能 概念和观点 当然也需要掌握 Net框架 理解CLR(Common Language Runtime 通用语言进行时) 下面就从数据访问 Web开发和组件创建三个方面来简要谈谈二者的区别 数据访问 不同点主要表现在 数据访问技术 数据访问具体实现方法和数据绑定上的不同 在数据访问技术上 Visual Basic 是通过ADO(Active X Data Object 即 Active X数据对象)来实现对数据库访问的 同时为了保证对早期版本的兼容 也提供RDO(远程数据对象)和DAO(数据访问对象)二种数据访问技术 在Visual Basic Net中是使用ADO NET来访问数据库 ADO NET是 NET框架的一部分 其对应的类库是 Net FramWork SDK的真子集 ADO和ADO NET这两种技术在概念 功能和实现上都有许多差异 由于篇幅所限 这里就不一一介绍了 其实在Visual Basic Net中也可以使用ADO来访问数据库 但ADO在Visual Basic Net中是以组件的形式出现的 通过添加引用才可以在Visual Basic Net中使用 添加引用的过程 其实就是对组件互 *** 作 经过互 *** 作后的组件 已经并非先前意义上的组件 而是转变成可供Visual Basic Net直接使用的 Net类库 在数据访问的具体实现方法上 Visual Basic 实现数据访问主要是两种方法 其一是在程序设计阶段 可通过把数据源绑定到ADODC控件或使用数据环境 其二在运行时 可以通过编程方式创建记录集RecordSet对象并与记录集对象交换数据 同样在Visual Basic Net中实现数据访问的方法主要也是二种 其一是在程序设计阶段 通过创建 配置数据适配器DataAdapter和生成数据集DataSet 其二在运行中 通过编程方式动态创建 配置数据适配器和创建 生成数据集 在数据绑定(Data Bind)上 在Visual Basic 中实现数据绑定通过设置控件的下列属性来实现 DataChanged DataField DataFormat DataMember 和 DataSource 通常是把控件的显示属性绑定到数据源中的相应字段 在Visual Basic Net中 数据绑定的应用范围可广泛得多 Visual Basic Net中可以将任何控件的任何属性绑定到包含数据的任何结构中 Web开发 Visual Basic是使用Active Server Page(简称ASP)来创建在 Web应用程序 在ASP中 编写Web页面并非纯正的Visual Basic语言 而是Visual Basic脚本语言 VBScript 在Visual Basic Net中是使用ASP NET技术来编写Web页面 在ASP NET中使用的也不再是脚本语言 而是真正意义编程语言 其中就可以是Visual Basic Net 开发过ASP页面的朋友都清楚 虽然编写ASP页面对开发工具要求很低 但由于其是面向过程式开发 所以稍微复杂一点的ASP代码都显得杂乱无章 这都给程序设计 调试 修改带来了麻烦 而Visual Basic Net是建立在新的框架结构上 Visual Basic Net完全支持Web编程 凭借ASP NET的Web 应用程序 XML Web services等等基于Web上的功能 使得Visual Basic Net开发Web 页面与开发Windows编程很相似 Web页面代码也不显得有条有理了 组件创建 在使用Visual Basic 和Visual Basic Net编写应用程序时 虽然都可以通过从工具箱中选择组件 通过拖入方式在应用程序中加入组件 但二者在实现机理上却存在根本不同 在Visual Basic 中 应用程序中创建的组件全部是组件 即可在应用程序中使用的ActiveX控件 ActiveX 类型的DLL 和 ActiveX类型的EXE 而在Visual Basic Net中 向窗体中拖入的组件 都是基于继承 从 Net框架提供的SDK中相应的类继承 经过实例化后 通过添加功能才把组件加入到设计窗体中 这些过程都可以在Visual Basic Net的源代码中找到 Visual Basic Net中使用的每一个组件都是从Component或Control基类派生出来的 当然Visual Basic和Visual Basic Net之间还存在很多差别 如 Visual Basic 只提供单线程模式 并不支持多线程 而在Visual Basic Net全面支持多线程 并且在Visual Basic Net中还增加了结构化异常处理等新的功能 所以对于那些Visual Basic的程序员 从Visual Basic程序员转型到Visual Basic Net就有极强的必要性 下面就简要介绍一下这种必要性 二.从Visual Basic转型到Visual Basic Net的必然和必要性 虽然Visual Basic得到了很多人的认可 也有许多配套产品都提供了Visual Basic的接口 但随之时间的延续 其缺点也逐渐暴露了 有些甚至是无法 容忍 的 首先作为一种解释性的语言 不仅程序执行速度慢 并且在分发应用程序时 还需要带上解释库 其次Visual Basic并非完全的面向对象的开发语言 从根本上说 它应该是一种面向过程的开发语言 而Visual Basic Net做为下一代的Visual Basic语言 它是一种为开发 Net平台应用程序而度身定做的程序语言 因为Visual Basic Net中完全集成了 Net FrameWork( Net框架)和CLR(Common Language Runtime 即 公共语言运行时) 同时 Net 框架和公共语言运行时又共同提供Visual Basic Net语言互 *** 作性 垃圾资源回收 可靠安全性和版本改进的支持 通过Visual Basic Net能够简便 快捷地创建 Net平台应用程序 XML Web services 和 ASP NET Web 应用程序 Visual Basic Net做为开发 Net平台的程序语言 那它就为开发现跨平台程序创造了可能 因为我们知道 微软推出 Net 其目的之一就是实现跨平台 虽然目前微软只提供了在Windows平台上运行的 Net框架 还无法实现真正意义上的跨平台 但随着MONO的出现(虽然它还存在很多问题 并且目前的MONO只为C#提供支持) 但可以预见的是在不久的将来 Visual Basic Net实现Write Once And Run AnyWhere的时间不会太久 Visual Basic Net是一种编译性的语言 但这种编译和以前接触的编译有所区别 因为经过Visual Basic Net编译器编译后得到文件并不是可以在计算机直接运行的二进制文件 它的性质是一种IL文件(中间语言文件) 在运行IL文件时 首先是通过CLR下的JIT(即时编译器) 把这种IL文件再编译成二进制文件 我们看到的程序运行 其实是经过JIT编译后的二进制文件在执行 这时可能有很多朋友会问 这种二次编译是否多此一举 具体实现中是否很麻烦 是否会影响程序的运行速度?二次编译的确是影响了程序运行的速度 但它却为实现跨平台带来了可能 其实这种编译过程犹如Java中的JVM(Java虚拟机) 正是JVM才使得Java能够开发出跨平台的应用程序 二次编译是CLR在 Net框架下自动实现IL文件到二进制文件转变的 它是一种自动完成的 并不需要人员的参与 所以它并不会给程序执行带来麻烦 Visual Basic Net 还是一种真正的面向对象的开发语言 可以说OOP思想已经深入到语言中的任一角落 如 在Visual Basic Net中创建的Windows组件 就是从类中继承 类经过实例化得到的 Visual Basic Net还增加了许多新功能和改进功能 如继承 接口和重载等 这些都使Visual Basic Net成为功能强大的面向对象的编程语言 微软公司在推出Visual Basic Net的同时 还推出了Visual Basic Net的开发工具Visual Studio Net Java程序员羡慕Visual Basic Net程序员的重要原因之一就是 Visual Basic Net拥有一个任何比目前Java程序员所使用的开发环境都好的集成开发环境 Visual Studio Net 三 Visual Basic Net开发利器Visual Studio Net简介 微软公司提供了四个不同的Visual Studio Net版本 分别是 企业级结构设计版 企业级开发版 专业版和学院版 其中学院版主要是为在校大学生学习Visual Studio Net准备的 它又分成三个独立的版本 Visual C#标准版 Visual Basic Net标准版和Visual C++标准版 上述的每一个版本的价格都不菲 现在在市面上买到主要是 张CD碟片的Visual Studio Net企业级结构设计版 (请注意 本文介绍的是Visual Studio Net Net FrameWork SDK 版本号是 )下面就以此版本讨论一下如何安装Visual Studio Net 安装 Visual Studio NET 版本的系统要求 每一个版本的Visual Studio Net有着不同的组件组合 这也就决定了对计算机有着不同的系统要求 建议您的计算机系统满足下列要求 *** 作系统 Windows XP 专业版 Windows XP Home Windows 服务器版 Windows 专业版 Windows Workstation Windows NT Server Windows Net Server版处理器 Pentium II 级 主频 MHz以上处理器 推荐使用Pentium II lishixinzhi/Article/program/net/201311/12194

设置开机运行启动程序

1、在 电脑桌 面上找到需要建立开机启动项的图标,若找不到需到相应的存放位置将其添加快捷方式放到桌面上,方便设置。

2、在桌面上找到“我的电脑”,双击鼠标左键打开,打开资源管理器。

3、按照“C:Documents andSettingsAdministrator「开始」菜单程序启动” 路径通过鼠标点击层层进入到启动文件夹,其中“Administrator”是账户名,具体情况依你的电脑账户名为准。

4、回到电脑桌面上,找到需建立开机启动项的图标,然后将其拖动到“启动”文件夹下,就完成了开机运行启动项的设置了。

5、然后按同样的方法将其他需要建立开机启动项设置的程序拖入启动文件夹即可。

6、重启电脑,所有已设置后的程序就会自动启动。

禁止开机运行启动项

1、在电脑桌面左下角单击“开始”,选择“运行”。

2、在“运行”里输入msconfig即可以进入开启选项管理了。

3、在启动选项卡中科院看到很多项目前的方框内都有绿色小勾,这证明这些程序都会在开机启动时自动运行。若要取消,就在在启动项目中取消要禁止开机启动项的程序,或者单击右下角的“全部禁用”选项,就可禁止开机运行启动项了。 

 若对电脑了解较多的朋友就会发现,这所有的设置不一定要从“我的电脑”程序开始,有一个很便捷的方法就是左下角的“开始”选项,从那里找到“启动”再按上面的步骤方法也同样能达到设置或取消开机运行启动项。但是有一点要注意的地方,那就是如果你的电脑上安装了360卫士的话,有时候可能会遭到阻拦。它会提醒你软件自启动带来的危害让你确认后再执行,这时候可以适当地考虑后再决定是否自启,确认后别忘了选择确认哦,因为超过时间360就自动拦截了,到时候还得从360的相关设置中找到放行设置,又添加了许多麻烦哦。

“ *** 作系统调用执行用户程序的入口程序”具体流程如下:

当处理器执行到系统调用指令时,其工作状态由用户态切换到核心态。处理器将由执行用户指令变为执行 *** 作系统指令,即执行系统调用处理程序,该程序的入口地址根据系统调用号从中断向量表中获得。

包括用户进程下一条指令地址(即返回地址在内)的处理器现场被保存起来,然后系统调用处理程序开始执行结束时,通过中断返回指令,用户进程的现场信息被恢复,处理器重返用户进程后续指令执行。

流程说明

1、硬件接收到中断信号,立刻保存现场,并查找中断向量表,将CPU控制权转交给系统调用总入口程序。

2、对于系统调用总入口程序,也要先保存现场,将参数保存在内核的堆栈中。然后查找系统调用表,将CPU控制权转交给对应的系统调用处理程序或者是内核函数。

3、执行系统调用处理程序

4、恢复现场,返回用户程序。

一、编译时与运行时的内存情况

1编译时不分配内存

编译时是不分配内存的。此时只是根据声明时的类型进行占位,到以后程序执行时分配内存才会正确。所以声明是给编译器看的,聪明的编译器能根据声明帮你识别错误。

2运行时必分配内存

运行时程序是必须调到“内存”的。因为CPU(其中有多个寄存器)只与内存打交道的。程序在进入实际内存之前要首先分配物理内存。

3编译过程

只能简单说一下,因为如果要详细的话,就是一本书了《编译原理》。编译器能够识别语法,数据类型等等。然后逐行逐句检查编译成二进制数据的obj文件,然后再由链接程序将其链接成一个EXE文件。此时的程序是以EXE文件的形式存放在磁盘上。

4运行过程

当执行这个EXE文件以后,此程序就被加载到内存中,成为进程。此时一开始程序会初始化一些全局对象,然后找到入口函数(main()或者WinMain()),就开始按程序的执行语句开始执行。此时需要的内存只能在程序的堆上进行动态增加/释放了。

各区段功能说明:

1、程序代码区:存放函数体的二进制代码。

2、全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 程序结束后由系统释放。

3、文字常量区 :常量字符串就是放在这里的。 程序结束后由系统释放。

4、堆区(heap): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。

5、栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 *** 作方式类似于数据结构中的栈。

1、同时按下win+R键

2、输入shell:startup并回车

3、打开文件夹后,将需要设置为开机启动的软件快捷方式复制粘贴到启动项文件夹

出现加工程序不执行的主要原因一般有三方面:对刀或坐标计 算错误、 *** 作错误、车床有故障,应针对不同情况采取不同措施。例1系统出现020号报警,半径误差过大。一般为计算错误。此类错误一般为坐标计算错误、刀补号与刀 具配合错误、字符错误、小数点未标或R指定错误等。 重新校对程 序即可解决。例2自动循环加工不执行。方式开关在MEM(自动状态),按循环启动按钮不执行。检查 方式开关无问题,观察显示器显示为MDI方式。观察在不同方式 下X1。0、X1。 1、X1。2状态没有变化,初步判断为DC24 V问题。经 检查波段开关G端子无DC24 V,修复后故障排除

以上就是关于VB.NET分层开发的几点心得全部的内容,包括:VB.NET分层开发的几点心得、电脑变成了设置而且还不知道怎么运行怎么办、 *** 作系统调用执行用户程序的入口程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10095599.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存