vb.net架构学习 vbnet开发环境

如何学习.net

.net是个框架,范围很大。如果只是编程的话那就看你的基本功。如果以前没有学过编程的话,那么去找本不是很厚的教材来了解一下什么是编程。其实编程说简单也简单,就是变量,方法,逻辑控制语句。任何编程语言都离不开这三样基础的东西,实现方法大同小异。不同的只是api,和面向对象之类的编程思想。api可以通过大量的写代码来熟悉,这时候你需要的是一本字典似的工具书,边写边看。编程思想需要你学习之后,在编程的过程中去体会,光是听人说是理解不了的。

创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目网站设计、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元陇南做网站,已为上家服务,为陇南各地企业和个人服务,联系电话:18982081108

你可以先学习C#的语法,然后学习一下web开发,这样asp。net基本上你就会得差不多了,然后可以学学webservice开发,接下来了解一下mvc之类的架构。

如果你用的是最新的visual studio2010,那么你在新建工程的时候你会看到几种不同语言。C#很简单,学会了之后做个网站,写个程序什么的都能做了,vb.net等等都差不多,但是F#和他们不是一个概念,这是另外一种东西。事实上.net会把c#,vb,vc的代码最终转化成为一个叫托管代码的东西,相当于是殊途同归了,所以你用vb,vc,c#开发的类可以互相跨语言使用。

学VB还是VB.net好?

细说VB.NET(上)

(作者:青苹果工作室编译 2001年03月07日 14:47)

微软公司提出的.NET概念,正从各个方面渗入到我们的生活中。它将产生的作用,

诚如一位业内名家所描述的:“请忘掉你认为你所知道的,.NET将改变一切”!既然如

此,无论是IT业内人士、还是企业决策者,快速领会这个新概念的含义及深远影响,

都显得非常必要。

概要

VB正在不断地发展中,它具备了以前VB编程人员作梦都想拥有的性能,想象一下你

将随心所欲的利用这些性能,是不是很令人激动?然而,这个计划于2001年第四季度上

市销售的VB版本可能会给你带来些小麻烦,因为要完全掌握它需要一个较长的学习周期

,而且其中包括了一些微妙的变化,你可能在使用他们的时候出现错误。

需要准备的条件:建议获得Visual Basic.NET beta 版,这些内容对所有VB程序员

都是有用的。

Microsoft .NET平台的涵盖面很广,而且很难预测它的真正意义。我们注意到,现

在有很多关于.NET的不正确的理解。因此在这篇文章里,我们将把给你一个VB.NET到底

是些什么的概念,从头到尾说一说它是什么、它能干什么以及怎样才能充分发挥它的优

点。我们要特别地细看一下IDE的改变、面向对象特征、底层结构的改变、一些“现代化

”的语法以及包装和分发方面的增强。我们将讨论这些功能能为你做什么,解释他们的

优点与不足。由于这些改变是如此之大,而且涉及方方面面,因此希望这一篇文章能满

足你全部的要求是不现实的,要了解这方面全部的知识请参阅有关文章和书籍。

Visual Basic.NET 和你现在所知的开发工具完全不同,并且这个新版本会改变你的

未来。到底有多大不同?如果你觉得从VB3迁移到VB4是一个很大的变化,那这次VB.NET

会让你感到震惊。这次升级与其说是VB的一个新版本,还不如说是迁移到一个新平台上

,你所面临的情况就和从DOS迁移到Windows差不多。

VB获得了继承能力

VB.NET预期拥有的第一新功能就是继承能力。继承是VB开发者长期以来要求得最多

的功能。判断一下对继承的要求是不是像早些时候对本地化编译器的要求一样将是一件

很有意思的事,后者,当Microsoft提供了一个以后,你就几乎听不到多少这方面的言语

了。

Visual Basic现在是真正的面向对象语言了。过去,你可以通过使用VB的界面继承

性创建伪实现的对象继承,但现在不必这样做了。

Visual Basic.NET 现在提供大量面向对象功能,包括应用程序继承,它允许你从其

它类导出你想创建的类。像在其它面向对象语言里一样,你能覆盖基类的方法和属性,

并且能实现多态以创建健壮的、扩展性好的组件。例如,假定你从基类 Crane里继承产

生了一个ForkLift类,你能使用像下面的代码覆盖基类里对Lift方法的默认实现:

Public Class ForkLift

Inherits Crane

Overrides Sub Lift(ByRef _

Height As Double)

Height = Height + 10

End Sub

End Class

VB.NET不仅能让你覆盖方法或属性;它还能让你重载方法。重载是定义同名、但使

用不同数据类型的方法或属性的能力。例如,假定你有一个组件能对不同数据类型的数

组进行排序,你不需要三个(每种数据类型一个)不同名的方法;实际上你可以重载一个

方法名:

Overloads Sub SortArray(ByRef _

aValues()As String)

...

Overloads Sub SortArray(ByRef _

aValues() As Integer)

...

Overloads Sub SortArray(ByRef _

aValues() As Object)

另一个改变是:表单现在是类模块。这就是说类本身包含建立表单的所有“肥料”

的代码。你可能想知道,为什么你不得不看到这些从前不用看的代码,但这个改变同时

带来强大的新功能,包括继承这些表单的能力。Microsoft把这一技术称为可视化继承。

假定你的对话框有一种标准的格式,例如在表单的一侧有一行按钮,并在角上有一个标

识,那么,通过可视化继承你能创建一个表单模板(类),并从这个基类里导出所需的表

单。

一切都是对象

代码复用简化了开发过程,像实现和可视化继承这样的功能有利于更简单、更强大

的代码复用。然而,代码复用并不是到此为止。你能通过支持VB.NET的通用语言运行库

(Common Language Runtime - CLR)继承在其它 VS.NET 语言里定义的类。例如,你或别

人创建了一个 C# 类,然后就能从 VB 里继承它。

VB.NET 的面向对象能力扩展了语言本身的通路:一切都是对象。这意味着比在以前

的 VB 版本里,你获得了更多的内在功能,你将很少被迫使用 Windows API。例如,在

以前的 VB 版本里,你使用 LoadPicture 方法加载图片并使用表单的 Line 方法(或较

快的 API) 画线。现在,你使用 System.Drawing 对象来创建并处理图形。你可以使用

以下代码在表单上显示一幅图片:

picshowpicture.Image = _

system.Drawing.Image.FromFile( _

"c:\test.bmp")

注意 VB.NET 的“一切都是对象”方式让你的语句能用得更长久。

考虑以下语句,它在一个图形对象上画一条黄绿色的线:

objgraphics.DrawLine(system.Drawing. _

Pens.Chartreuse, 0, 0, 100, 100)

这些长长的语句也有好处:改进的功能、适应性和易用性。从前,你要实现先进的

功能就不得不在文档中挖掘,经常是不得不诉诸API。现在,相关的功能集符合逻辑地包

含在对象里。这种处理方式的另外一个好处就是:类把相关的功能很好的组织了起来。

所以,浏览你感兴趣的对象,发现它们做些什么实际上很有意思。

Visual Basic.NET 的面向对象功能提供了很多实在的好处。很多情况下,VB.NET

面向对象的本质和实现的继承性能帮助你比在以前的 VB 版本里更容易、更迅速地创建

特定类型的功能。然而,你不一定要仅仅因为你能做到,就使用实现继承性或其它 .NE

T 功能。VB.NET 的新功能使开发许多类型的应用程序变得更简单!但是,就像使用所有

的语言能力一样,你需要使用的是在特定场合下最适合的功能。

自由线程的危险

对于自由线程可能需要特别给出警告。VB6允许你使用独立的线程来创建多线程服务

器程序,但VB过去从来没有让你能创建自由线程的客户端程序。VB.NET 改变了这一切。

现在,创建自由线程应用程序几乎成了最微不足道的事情。实际上,我估计那些没有理

解其中的微妙差别,就在他们的应用程序里添加了自由线程的程序员会遇到很多问题。

只需要几行代码就能启动一个新线程:简单地将线索对象的地址传递给方法,方法本身

就会启动线程。这确实是很酷也很有用的东西,但你需要小心:这些功能适用于特定的

场合,确定哪些是适用的场合并且明智的使用这些工具则是你自己的事。许多开发者使

用继承性和自由线程时给自己找了不少麻烦,请不要让这些发生在你身上。

可能大家讨论得最多的 VB.NET 特征就是 CLR (通用语言运行库),VB 运行在它的

顶层上。是 CLR 提供了 VB.NET 的许多关键功能。例如,CLR 使实现和跨语言继承性以

及自由线程成为可能。

分发VB程序要求你同时分发VB的运行库,在VB6里即是msvbvm60.dll。许多其它语言

也有类似的要求,包括 C++ 和 Java。在Visual Studio.NET里,所有的Visual Studio

语言共享同一个运行库:CLR。这里有几个较大的变化,首先,所有的Visual Studio语

言现在都共享同一个IDE、同样的表单引擎、同样的异常处理机制等等。这意味着Visua

l Basic和像 C#这样的语言拥有同等的地位,至少差不多是同等的。

回复:

细说VB.NET(中)

(作者:青苹果工作室编译 2001年03月07日 14:47)

易于反编译的中间语言

无论你用VB、C#或其它.NET语言编写应用程序,VS.NET代码都编译成为中间语言(I

L)。当应用程序运行时,一个即时编译器(JITter)处理IL代码并把它编译成为机器语言

。这意味着在理论上可能为Windows以外的平台创建.NET运行库,但现在关于类似的事情

还没有任何官方消息。中间语言的一个缺陷是:它像VB5以前的VB版本一样,容易被反编

译。这种可能性使许多开发者普遍地质疑.NET架构的安全性。

CLR在IL层次内外影响代码,对它的修改将使所有使用CLR的语言受益。然而,语言

只是和代码如何被解释为IL有关,对特定语言的优化可以根据特定语言的语法来编写,

这样在技术上就可能使.NET语言之间的性能差别很小。不管怎样,大体上蓝图是美好的

。例如,CLR使VB的调试和监测工具和C#的相应工具相当,它做到了这一点因为它们本来

就是相同的工具。

CLR提供不平行的跨语言集成,包括跨语言继承代码的能力。所有使用CLR的语言共

享一个通用类型系统,它使使用多种语言开发应用程序变得更简单。我不喜欢把 C API

声明翻译成VB里可以使用的形式,所以我很赞赏通用类型系统带来的好处。

在CLR中运行的代码被称为被管理代码,被管理代码使用的内存完全由CLR来控制。

被管理代码带来很多好处,包括跨语言集成、跨语言异常处理和简化的部件相互作用模

型。Visual Basic被限制为只能以被管理代码的方式工作,然而C#拥有跳到非被管理代

码的能力(执行到运行库之外),并能做像指针操作这类事情。这是VB和C#不同等的情况

之一。这种能力到底有多重要取决于你想干什么。

CLR造成的体系结构差别要比跨语言集成、共享功能和被管理代码等深刻。首先,V

isual Studio.NET的支撑结构不是 COM。另外,VB.NET里的所有东西,甚至字符串都是

对象。因为这些和其它一些原因,Microsoft改变了支撑结构处理对象的方式。COM实现

了一个引用计数方案,这样每次引用一个对象时,计数器递增。当一个对象引用超出作

用域或被释放时,计数器递减,当引用计数减少到零时就终止这个对象。Microsoft声称

在.NET架构下引用计数的开销太大,以至于不能在 .NET中实现它,所以它放弃了引用计

数转而使用垃圾收集。

垃圾收集需要新体系结构

CLR垃圾收集器主要是监视一个程序的资源,当可用资源达到确定的阈值时寻找无用

的对象,并在发现它们的时候清除这些对象。垃圾收集的一大好处就是你不再需要担心

大多数普通的循环引用,即子对象引用了父对象,然后父对象又引用了子对象。在引用

计数方案下,循环引用使两个对象都不能被释放和清除。然而,垃圾收集器会发现循环

引用并清除它们。这也意味着释放对象的最后一个引用时不再需要立即清除对象。

垃圾收集的一个后果是:你再也不能指望一个类的 Terminate 事件能在适当的时机

发出。实际上,如果线程被阻塞,可能根本就不会发出 Terminate 事件。和COM提供的

确定化终止相反,它被称为不确定的终止。缺乏确定化终止,以及因为垃圾收集器重新

安排并压缩内存从而不能使用指针的事实,在新闻组里激发了一波激烈的辩论。我想这

些新限制可能会令你痛恨,因为你要依靠确定化终止;也可能你漠不关心,因为你不依

赖 Terminate 事件。垃圾收集并不是万灵药,实现弱引用依然需要做一些考虑。

从引用计数到垃圾收集只是 Visual Studio.NET 的支撑结构不是 COM 这个事实的

表象之一。你能在VB.NET中使用COM对象,比如说ActiveX服务器或ActiveX控件。然而,

你必须通过包装访问这些对象。任何时候听到“包装”这个术语,你应该明白你面对着

性能损失,并且对象的行为可能有所不同。如果当计划移植一个使用了大量COM对象的工

程,就需要认真地测试和计划,可能需要重新规划应用程序的结构才能移植成功。坦率

地说,你要有遭受挫折的准备。还记得从VBX迁移到 OCX的过程吗?我记得,我的精神病

医生也记得。我很快就要再去看他了 ;-)

语言本身的变化要远远超过体系结构的变化。大部分改变确有道理,但我并不认为

所有的改变都是如此。以前版本的VB允许你以很多方法来做很多事,以至于统一的编码

标准要么不存在要么就很难强加于人。Microsoft对VB做了大量的改变为的就是“清晰”

这种语言。很多情况下,原来你有好几种方法做一件事,现在就只有一种了。Billy Ho

llis 提供了语法变化的详细列表,包括废弃的关键字列表,但有些东西需要在这里重复

一下。

首先,向过程参数传递数据的默认方法由引用(ByRef)变成了传值(ByVal)。这个改

变主要是因为引用要比传值的风险大得多。它的风险主要是调用过程中的数据可能被无

意中篡改。你仍然能通过引用传递数据,但这一改变使你需要修改新的默认调用方法来

使用引用。

Set语句消失了

其次,Set 语句消失了。在 VB.NET 里如果你需要向变量传递一个对象引用,所需

要的只是一个等号,对象被视为同其它值一样。这很酷,但也有副作用:默认属性消失

了。例如,你不再能用这种方式引用一个属性:

Text1 = "What, me worry?"

作为替代,你必须显式地引用属性:

Text1.Text = "What, me worry?"

也许一眼看来不需要这种改变,但确实必须去掉默认属性。例如,假定你有一个叫

objFoo的对象变量,不用Set语句,下面的语句所设置的引用就产生了歧义性:

objFoo = Text1

这条语句是应该设置到Text1的引用,还是以Text1的Text属性来填充objFoo?你不

能确定,编译器也不能。抛弃Set语句同时要求抛弃默认属性。

有一个改变我不喜欢:你不再能在不同的作用域里声明Property Get和Property S

et过程。注意 VB.NET 没有 Property Let 语句:对象和数值都用 Property Set。这意

味着你不能用一个 Friend Property Let 过程来对应一个 Public Property Get。用V

B建立组件时可能会有麻烦。许多组件开发者创建 Friend Property Set 过程以使他们

的应用程序能改变一个值,但提供 Public Property Get 过程以使他们的客户程序能取

回值。我希望我能为这个改变找到一个合适的理由,可是我找不到。

Microsoft说它力图使语言保持清晰并使之现代化—大部分情况下它做得不错—但这

个作用域问题和其它几个问题令人感到困惑。例如,While...Wend 很早以前就应该消失

了,因为 Do...Loop 完成同样的功能。然而,Microsoft 不仅没能去掉 While...Wend

,还把它改成了 While...End While 来给自己找了更多的麻烦。真奇怪!

我最不喜欢的改变是:Microsoft改变了你已经使用的数据类型含义。在 .NET 里,

Integer 现在是 32 位,而 Long 变成了 64 位。我心存恐惧地想:开发者 (包括我自

己) 会多么频繁地使用错误的变量啊。那个API到底是接受一个16位的 Integer还是32位

的?老天!我希望Microsoft重新考虑这个决定并使用新的变量类型,比如Int32和Long

64。无论迁移到 VB.NET的移植工具是多么的好,它也不能改变开发者的记忆。为什么要

逼着我们再学一遍普通的数据类型呢?

最后,最需要的一个改变是:VB.NET引入了 Option Strict 关键字,你可以使用它

来代替 Option Explicit。Option Strict 结束了万恶的类型强制(tm),通过它VB乐于

让你把一个数值赋值给一个字符串,然后像犯罪一样做另一个操作。设置 Option Stri

ct 告诉 Visual Basic.NET 不要为你做任何类型强制。注意 VB.NET 并不是彻底的控制

狂,它允许类型向下转换,但不允许向上。例如,不使用像 sngvariable = CSng(dblv

ariable) 这样的语句进行显式类型转换,你就不能把声明为 Single 的变量赋值给声明

为 Double 的变量。因为这有丢失数据的风险。然而,你能不使用显式类型转换就把声

明为 Double 的变量赋值给声明为 Single 的变量,因为这并没有丢失数据的危险。使

用 Option Strict 能帮助开发者减少很多类型错误,包括那些很难调错的。但有一个附

加的缺陷:在工程里使用了 Option Strict 后,就不能进行 后编联了。

回复:

细说VB.NET(下)

(作者:青苹果工作室编译 2001年03月07日 14:47)

表单和新IDE面孔

Visual Basic.NET 的面向对象功能很伟大,但第一次启动 VB.NET 时还注意不到它

。可能你注意到的第一件事是它的 IDE。IDE看起来可能很熟悉,建立VS.NET IDE的团队

以前的工作是开发VB的IDE,对IDE的增强借鉴了VB IDE的经验。

同时,IDE的改变远比外表显示的深刻。所有.NET语言使用相同的IDE,并且IDE中的

新工具功能强大又易于理解。你能把任何一个设计窗口设置为自动隐藏 (就像你能自动

隐藏Windows任务栏那样),这样就大大地减少了混乱。主工作区域是一系列选项卡,这

意味着IDE不再同时显式多个表单和代码模块。当打开对象的源代码时,IDE在它的主工

作区域为工作的对象添加一个新的选项卡。

IDE还包括一个叫作任务表(Task List)的新窗口。它的内容由IDE创建的项目组成。

例如,如果在试图编译一个工程时收到一个错误,VB在任务表里创建一个项目来解释这

个错误。你能直接向任务表里添加项目,或者通过在代码里以 "TODO:"开始一个注释行

,你可以在代码位置和任务之间建立联系。我喜欢Microsoft实现任务表的方式;在程序

出炉前,都需要完成些什么?估计它能帮我省掉很多时间和麻烦。看到它时,你最容易

产生的一个想法就是:以前怎么就没人想到它呢?

你能注意到的另一个变化就是:VB.NET的表单。Microsoft废弃了旧的表单引擎而使

用Windows Form代替它。所有基于 CLR的语言都使用Windows Form引擎。相对于VB6的表

单引擎,它有几个重要的改进。例如,Windows Form让你能创建能自动调整组件尺寸的

表单,并允许将控件锚定在表单里的特定位置。换句话说,不再需要使用第三方控件就

能完成这些特殊任务。Windows Form还允许表演像透明表单这样的很酷的技术。

过去,VB隐藏了建立表单的所有魔术。你使用IDE设计表单并把代码添加到Initial

ize事件上,但你没有手段来控制这两点之间的过程。现在,表单就是一个类,它包含用

来建立表单所有的代码。我把这些代码称为肥料代码,因为大多数开发者希望远远离开

它们,越远越好。要想可靠地弄坏你的程序,没有比折腾这些代码更好的办法了。另一

方面,技术娴熟的用户可以通过这些代码做很多很酷的事,因为它让你能走到VB.NET表

单的幕后。要是你不想看到这些代码你也能不看,因为新代码编辑器有展开和折叠代码

区的功能,并且这些肥料代码是默认折叠的。代码编辑器还有几个很酷的新功能。例如

,现在它自动为你缩排所有代码(而且还干得不错),它还有内置的显示行号功能。

创建编译的服务器端代码

除了新的Windows Form引擎,.NET还包括一个为创建Web表单而特别设计的表单引擎

。这些被称为Web Form的表单很聪明,就像VB让你能很容易地为传统Windows桌面应用程

序创建表单一样,它们让你能方便地为Web创建表单。Web Form是 ASP.NET里的技术,让

你能使用熟悉的RAD工具创建带有代码的表单。创建的ASP.NET代码编译并驻留在服务器

上,并在那里被执行,然后以HTML方式发送给任何一个支持HTML 3.2的浏览器。

底层结构捕获客户端上的事件数据,并把它发送给服务器。这意味着可以使用各种

用户界面工具,可以利用现有的表单设计技巧,而且应用程序界面是不依赖浏览器的。

如果可以放弃不依赖浏览器,你还有另一个选择来利用Internet Explorer 某些功能特

有的优势。Web Form使支持Web的应用程序能更容易地创建更好、更丰富多彩的用户界面

Web服务策略

VB.NET里的另外一个重要的面向Web的功能是:Web服务。Microsoft的市场部门把W

eb服务列为采用.NET的几大理由之一。实际上,Web服务的本质就是使用标准协议的、由

Web服务器提供的、类似于COM的对象。注意在技术上它们并不是COM对象,但和COM对象

的表现方式很相像。Microsoft希望看到所有的公司使用Web服务,并且未来的应用程序

可以简单地“粘”在不同的Web服务上,就像现在可以使用Visual Basic for Applicat

ions (VBA)建立基于Office和支持VBA的程序的解决方案一样。

在PDC上,对于它希望开发者如何“粘”在这些服务上,Microsoft提供的一个演示

程序给出了很好的例子。在这个演示程序里,一个假想的诊所通过Web服务提供预约系统

,演示了你可以怎样使用智能电话通过Web进行预约。Visual Basic.NET 甚至会允许你

查询服务器,并获得关于服务器能支持的所有Web服务的相关数据。通过IntelliSense

dropdown这个绝对有用的工具,程序员可以访问Web服务。Web服务是Microsoft雄心勃勃

的战略,但只有时间才能检验它是否能成功地被广泛接纳。

Microsoft试图消除与包装和分发应用程序相关的问题,包括令人恐惧的DLL。所有

.NET应用程序被封装为元件。元件包含着数据以描述它运行所需的东西。这些数据被称

为货单,包括很多信息,例如:元件身份(名称、版本等等);一个列出了所有文件之间

的依赖关系的表,以及它们的位置和版本;包括DLL相关数据的外部依赖关系信息;还有

其它元件需要而开发者没有创建的资源。元件是自说明的(通过它们的货单),所以.NET

应用程序不需要修改注册表才能工作。换句话说,你不再需要注册表组件。在最好的情

况下,即客户机里已经有了.NET运行库时,分发一个复杂的应用程序可能只是把一个文

件夹复制到目标机器上这么简单的事。元件的另一个好处是:你可以让不同的应用程序

使用同一个DLL的不同版本,并且协调地运行在一台机器上。如果所有这些都可以像计划

中那样工作,有关DLL的地狱和版本的噩梦就将成为往事。

正确之路

Microsoft彻底更新了它的技术,而不仅仅是核心语言。例如,在Visual Studio.N

ET里同时提供了ADO.NET,这是有特殊优点的下一代ActiveX Data Objects (ADO) 版本

。它的一个灵活改变是:ADO.NET用Extensible Markup Language (XML)作为在组件之间

传递数据集的格式。这意味着接收组件不一定必须是ADO.NET组件,同时接收组件可以接

受任何XML 格式的数据集。谈到XML,它支撑着VS.NET中的任何东西,从配置文件到远端

过程调用。ADO.NET在处理断开的数据集时比 ADO的性能要好,并且具有更好的伸缩性。

Visual Basic.NET对我们都很熟悉的VB做了重要的改变。C++革命性地跳跃到.NET后

有了一个新名字:C#,而Visual Basic的名字没变。然而,如果你把VB.NET当作语法相

似的一门新语言而不是简单的“升级”,可能掌握起来就要容易一些。本文给你一个起

点,但吸收掌握各种知识,并对未来做出有根据的决定是一个艰苦的过程,它只是这个

过程的一条起跑线。我不知道.NET会有多么成功,它的很多地方吸引我,但有些地方并

非如此。这个工具做了大量承诺,它夸耀很多功能能使 VB开发者更简单地创建更有伸缩

性的高端应用程序。最后,它的成功将取决于开发者能多好地将它应用于现实世界。纵

观Microsoft在PDC和Beta 1版本之间的性能和稳定性上所跨过的这一步,我坚定地认为

:Microsoft走对了路!

现在学VB迟不迟?听说VB落伍了。

是呀,在软件专业领域中,VB真的是落伍了,如果只是想了解编程或非专业的偶尔写些应用程序是可以的,但软件专业人员不会用它,

VB的弱点在于性能,灵活性等方面。

它有面向对象的思想但不是纯面向对象,

它不能象C/C++/JAVA/PASCAL那样编写多线程程序,无法象C/C++那样控制系统底层,

VB不是专门针对网络应用而生的语言,它不象JAVA那样流淌着网络的精神,也没有其跨平台的磅薄气势,所以在互联网和新兴的嵌入式开发之中步履蹒跚。

VB是基于BASIC的,生成的exe文件要靠编译器逐行解释。这就会导致效率不高,大多数VB程序都需要一系列的动态连接库以及注册组件的配合才能运行,所以就造成某个软件在一台机子上运行可以,但到了另外一台机子就运行不起来了。这也就造成了VB软件的推广问题。

总而言之,如果你想进入软件行业,VB是远远不够的,但如果你只想做些应用,比如你是当会计,想写个会计数据库程序,或者用VB script写些动态网页,甚至编写小病毒,都是没有问题的,VB高手也是高手,能人所不能,但是VB英雄迟暮,廉颇老已,这也是不争的事实了。虽说微软仍没有放弃B语言,.net架构上依然有VB.net与c#争辉,但vb.net已经不是以往意义上的VB了,更像是披着VB语法的皮,实质上已经抛弃了传统VB的本质。

所以如果想学编程,做数据库的学DELPHI,做网络和嵌入式开发的用JAVA/C#,想通杀的学C/C++,DELPHI/JAVA/C#都是比较容易入门的。

BUT,呵呵,即使是一个出色的程序员,那又怎么样呢?还不是当别人的打工仔?只有深谙技术而跳出技术,才有真正的光明前途。

.NET的学习步骤,先学什么,用什么书?

基本常识

掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。 ASP.NET是一个全面向对象的技术,那绝对学不下去!

第一步 对.NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习.NET Framework。ASP.NET是建构在.NET Framework之上的技术,你对.NET Framework了解得越深,学习ASP.NET就越快。 举个例子:下面简单列出几个对掌握ASP.NET非常重要的概念: 对象的内存模型,委托,事件,多线程,程序集和应用程序域,安全模型 .NET Framework当然还有许多其它的东西,但不理解与把握清楚上述这些东西,是很难真正把握ASP.NET的。 出于急迫的心情与现实的考虑,不少人没有扎实的面向对象基础就想直接学习ASP.NET,其结果只能是欲速则不达。 在具备了OO基础之后,以下是具体的学习ASP.NET技术步骤。 第一步:学习HTML与CSS 这并不需要去学一大堆的诸如Dreamweaver,Firework之类的各种网页设计工具,关键是理解HTML网页嵌套的block结构与CSS的box模型。许多ASP.NET控件最后都必须转化为HTML。而且,div+CSS是当前主流的网页布局模型。 学习这部分时,关键在于理解概念,而不需要将精力花在美化页面的许多技巧上,那是网站美工的工作,不是程序员的工作。

第二步:学习JavaScript JavaScript不是Java,它主要运行于浏览器端。可以完成许多工作,功能也很强大:比如它将客户端网页中的HTML元素看成一棵树,可以编写代码访问并修改树节点,动态生成新的HTML代码,从而达到动态修改网页显示特性的目的。 JavaScript在目前的网站开发中用得很多,非常重要。 另外,它也是目前非常流行的AJAX技术的基础。

第三步:学习计算机网络原理 找一本大学计算机网络教材,重点看看它的有关互联网的部分,了解一些域名解析和HTTP协议等知识。这是进行互联网开发的理论基础。

第四步:学习ASP.NET表示层技术,会设计Web页面 需要结合先前打好的面向对象技术的基础,至少掌握以下内容:

(1) 各种Web控件的使用方法,

(2) 理解信息在网页中的传送方式,比如Cookie,ViewState,Session等的使用。

(3) ASP.NET应用程序与网页的生命周期,以及相关对象(比如httpcontext,response,request)的用途。

(4) ASP.NET实现事件驱动的内幕

(5) 自定义用户控件 再次强调一下,没有OO基础,很难掌握上述技术,就只能被这些东东牵着鼻子走了,会很被动。

第五步 掌握数据库技术 具体地说,要学习以下内容:

(1) 学会使用SQL Server 2005:不要求精通它的各种工具与管理配置技术,但至少知道如何连接,如何建表,如何创建存储过程

(2) 学习ADO.NET,掌握使用代码人工访问数据库(别用VS2005的向导)的方法

(3) 学习数据绑定控件的使用

第六步 理解多层架构 这时,先前在OO学习阶段涉及到的程序集与应用程序域等就派上用场了,现在,网站架构大多采用多层架构:表示层、业务逻辑层、数据存取层以及数据库本身。 可以先上网找一此多层架构的资料看,再找一个现成的比较复杂的开源ASP.NET项目分析一下其架构就差不多了。基本上都是一个套路,到处应用。 有的朋友问:学习架构是不是必须学习设计模式。 我的看法是:不必!当然,你如果学习过设计模式,那当然更好。但在实际开发中,如果只想着机械地套用某种模式,反而起不到好的结果。我的观点:在学习设计模式时要多思多悟,其思想就会渐渐地融入你的大脑,在真实的设计实践中,忘掉所有的写在书上的模式,一切从实际出发,相信你的直觉,只要达到设计要求的方案就是可行的方案,事实上,你这样做了之后,回过头来再看,会发现你的设计往往暗合设计模式的理论。

第七步 学习XML与Web Service 先了解XML的基础知识,找本讲XML的书看一下就差不多了,然后,再学习Web Service。Web Service其实可类比为远程方法调用(以XML格式表达的调用信息)。 学 到了这里,如果你还有兴趣,不妨再去看看SOA,不过SOA的资料都是理论与概念,看起来比较郁闷,而且离实际开发可能比较远。所以,这是可选项。

第八步 学习AJAX 学习AJAX的主要目的是创建具有更丰富特性的Web表示层,而经过前面七步的学习,到此再学习AJAX已水到渠成,所有的基础都已具备,不会有太大的问题了。 在基础未具备的前提下直接学AJAX,就象“浮沙之上筑高台”,所以,将AJAX的学习次序安排在这里。

第九步 学习RIA技术 RIA:Rich internet application,可看成是将C/S与B/S优点合二为一的尝试。就具体技术来说,主要指微软的Silverlight(WPF_E),毕竟前头一路行来都是微软路线。

参考书籍

1.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:Microsoft .NET框架程序设计(修订版)

作者:Jeffrey Richter

译者:李建忠

出版日期:2003 年11月

出版社:清华大学出版社

推荐理由:框架设计是我看的第一本真正意义上的.NET书籍,之前看过很多,但都是工具类的。如果仅仅把.NET作为开发程序的工具,那些书就足够了。但是.NET绝不仅仅是个工具,它是一种思想、一个平台。要想深入学习,必须对其Framework有所了解。《Microsoft .NET框架程序设计(修订版)》无疑是学习.NET Framework最好的一本。李健忠老师的翻译通俗流畅,并且字里行间流露着他对.NET的深刻理解。这本书陪伴我度过了研究生期间很多无聊的课程。不过初学者看这本书开始也许会很费劲,有一次一个同搞.NET的同学拿过去翻了翻就扔给了我,说:看不懂。

2.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:重构:改善既有代码的设计(中文版)

作者:Martin Fowler

译者:侯捷,熊节

出版日期:2003 年9月

出版社:中国电力出版社

推荐理由: 重构,这个既简单又深奥的概念直到现在仍然吸引着广大设计爱好者。几年前当我几乎被这个名词弄晕的时候,我找到了这本书——重构的诞生地。它同样是我的“课堂书籍”。与《框架设计》不同的是,它的概念和理论十分简单,即使对编程只有一点点的认识,也能很惬意的阅读本书。因为它所阐述的,就是我们程序员平时所做的——修改代码。但如何更好的修改,使其更符合OO标准,又是一个非常复杂的过程。

3.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:敏捷软件开发:原则、模式与实践

作者:Robert C. Martin

译者:邓辉

出版日期:2003 年9月

出版社:清华大学出版社

推荐理由: Bob大叔最脍炙人口的作品。如果你看过《设计模式》与《重构》,那么推荐你接着看这本,对于设计模式的理解就会上升一个层次。熟练掌握各种设计原则,我们就不必再死记那些刻板的模式。只要我们的设计复合原则,就是一个良好的设计。《设计模式》、《重构》和《敏捷软件开发》是设计爱好者必读的三本书。

4.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:ASP.NET 2.0揭秘

作者:Stephen Walther

译者:谭振林,黎志,朱兴林,马士杰

出版日期:2007 年10月

出版社:人民邮电出版社

推荐理由:将近一年没有搞ASP.NET了,因此这本书买来也束之高阁。但此书1.1版本却令我印象深刻。当年就是那本绿皮的《ASP.NET揭秘》把我领进了ASP.NET的殿堂。我甚至一度认为其它的ASP.NET书都是垃圾(特别是清华大学出版的Wrox的红皮书,其实是翻译的太烂)。虽然2.0版本的中文版姗姗来迟,但是我仍然认为它值得收藏。特别是四位国内MVP的加盟,一定不会让人失望。越来越多的技术高手加入到写书译书的队伍中来,会彻底改变国内翻译书籍没法看的尴尬局面。

5.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:Head First设计模式(中文版)

作者:Eric Freeman,Elisabeth Freeman,With Kathy ierra,Bert Bates

译者:O'Reilly Taiwan公司

出版日期:2007 年9月

出版社: 中国电力出版社

推荐理由:这是一本让人拍案叫绝的书,它用浅显风趣的语言和别具一格的表现形式,把《设计模式》中天书一般的理论展现的精妙绝伦。如果你对设计模式还一知半解,或被《设计模式》中晦涩的文字搞得晕头转向,那么赶快来阅读本书吧。然而从某种意义上说,《Head First设计模式》是一本不能看的书,因为你一旦看过,会对其它的书倍感失望。所谓曾经沧海难为水是也。

6.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:重构与模式

作者:Joshua Kerievsky

译者:杨光,刘基诚

出版日期:2006 年12月

出版社:人民邮电出版社

推荐理由:很遗憾,我是在看完《Head First设计模式》后看得这本书,因此对其语言的易读性很是失望。甚至一度把它放回了书架上。但是这并不代表它不是一本经典书。它将重构与模式完美的结合,使我们明白了设计是按照设计原则将代码重构成模式的过程。

7.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:C#和.NET 2.0 实战:平台、语言与框架

作者:Patrick Smacchia

译者:施凡,李永伦,谭颖华,徐宁

出版日期:2008 年1月

出版社:人民邮电出版社

推荐理由:不管你使用什么语言进行开发,都希望手头有一本大而全的参考书。否则东一本框架、西一本语法,南一本WinForm,北一本ASP.NET,会把人搞得很崩溃。尽管Google和百度在绝大多数情况下可以解决问题,但是万一没有网络呢?《C#和.NET 2.0 实战》就是这样一本书,它包罗.NET的万象,编程时遇到任何问题都可以先翻开本书寻找答案。如果你是一个.NET程序员,案边放这样一本书是再适合不过了。我在读书小组推荐过这本书。

8.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:企业应用架构模式

作者:Martin Fowler

译者:王怀民,周斌

出版日期:2004 年7月

出版社:机械工业出版社

推荐理由: 秉承Martin Fowler一贯的通俗易懂的写作风格,用最浅显的语言描述复杂的概念。书中所列举的各种模式,我们肯定都或多或少使用过。本书是分层设计的指导书。

9. 推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:.NET 设计规范——.NET约定、惯用法与模式

作者:Krzysztof Cwalina,Brad Abrams

译者:葛子昂

出版日期:2006 年7月

出版社: 人民邮电出版社

推荐理由: 你是否修改过别人的代码?你是否因为混乱的命名规则和晦涩的变量名称抓狂?如果所有.NET程序员都读过《.NET 设计规范》,这一切也许就不会发生了。它虽然名称为“Framework Design Guidelines”,但实际上不仅仅是指导我们如何编写框架,它本身就是.NET Framework的设计规范。我们平时在做任何开发,哪怕是最简单的工具时,也应该遵循书中所提出的标准。

10.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:设计模式:可复用面向对象软件的基础

作者:Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides

译者:李英军,马晓星,蔡敏,刘建中

出版日期:2004 年9月

出版社: 机械工业出版社

推荐理由:之所以最后推荐本书,并不是因为它不如前几本,相反,它应该是所有设计爱好者的第一本书。但它太晦涩了,它就像是一本武林秘籍,不是所有人都能参透其中的奥秘。然而幸好很多高手练成绝世武功后,把他们的心得写了出来,这些心得要好理解得多。因此《Head First设计模式》、《设计模式解析》、《Java与模式》等应该称为设计模式初学者的首选。

vb.net 框架

是的,asp.net vb.ne c#都是.net框架下的语言.

XP和windows2000 都是微软的系统,都是基于NT核心的操作系统,区别在于XP是2000的升级版.XP版本中没有SERVER版的系统,而2000和XP二个不同时期的版本中都各有不同的衍生版本,用做不同的用途,比如2000下有SERVER版和Professional版,而SERVER又分为数据版和网络服务版等几个版本,XP的衍生版本比2000还多,你可以自己去查一下。

UNIX和LINUX也是同一个核心的系统,其是核心是用C写出来的。可以说LINUX是由UNIX的核心改写出来的,也可以说是扩展。由于他是开源系统所以源代码是公开的因此相关的版本更多,你也可以去网上查一下,UNIX用的最多的是IBM,HP,和JAVA的老家。LINUX是中小企业用的多,因为不用花钱,没有版权问题(非共享版)。

WIN和UNIX是二个不同的系统平台,虽然现在在硬件上还算是共用,可是从驱动和应用软件上都是不可以共用的,也就是说在WIN下的软件大多数是不可以用在UNIX(LINUX)上的。

UNIX只是一个系统,不要以为它是服务器专用,只是因为他用在服务器上的比用在其他方的多,所以大多数人的想法里会把UNIX放在服务器系统里,其实很多嵌入系统都在用UNIX。

.NET分为几种?哪种更容易学?

如果你已经有较多的面向对象开发经验,跳过以下这两步:

第一步 掌握一门.NET面向对象语言,C#或VB.NET。

我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。

ASP.NET是一个全面向对象的技术,不懂OO,那绝对学不下去!

第二步 对.NET Framework类库有一定的了解

可以通过开发Windows Form应用程序来学习.NET Framework。ASP.NET是建构在.NET Framework之上的技术,你对.NET Framework了解得越深,学习ASP.NET就越快。

举个例子:下面简单列出几个对掌握ASP.NET非常重要的概念:

对象的内存模型,委托,事件,多线程,程序集和应用程序域,安全模型.NET Framework当然还有许多其它的东西,但不理解与把握清楚上述这些东西,是很难真正把握ASP.NET的。

出于急迫的心情与现实的考虑,不少人没有扎实的面向对象基础就想直接学习ASP.NET,其结果只能是欲速则不达。

在具备了OO基础之后,以下是具体的学习ASP.NET技术步骤。

第一步:学习HTML与CSS

这并不需要去学一大堆的诸如Dreamweaver,Firework之类的各种网页设计工具,关键是理解HTML网页嵌套的block结构与CSS的box模型。许多ASP.NET控件最后都必须转化为HTML。而且,div+CSS是当前主流的网页布局模型。

学习这部分时,关键在于理解概念,而不需要将精力花在美化页面的许多技巧上,那是网站美工的工作,不是程序员的工作。

第二步:学习JavaScript。

JavaScript不是Java,它主要运行于浏览器端。可以完成许多工作,功能也很强大:比如它将客户端网页中的HTML元素看成一棵树,可以编写代码访问并修改树节点,动态生成新的HTML代码,从而达到动态修改网页显示特性的目的。

JavaScript在目前的网站开发中用得很多,非常重要。

另外,它也是目前非常流行的AJAX技术的基础。

第三步:学习计算机网络原理

找一本大学<计算机网络>教材,重点看看它的有关互联网的部分,了解一些域名解析和HTTP协议等知识。这是进行互联网开发的理论基础。

第四步:学习ASP.NET表示层技术,会设计Web页面

需要结合先前打好的面向对象技术的基础,至少掌握以下内容:

(1)各种Web控件的使用方法;

(2)理解信息在网页中的传送方式,比如Cookie,ViewState,Session等的使用;

(3)ASP.NET应用程序与网页的生命周期,以及相关对象(比如httpcontext,response,request)的用途;

(4)ASP.NET实现事件驱动的内幕;

(5)自定义用户控件。

再次强调一下,没有OO基础,很难掌握上述技术,就只能被这些东东牵着鼻子走了,会很被动。

第五步 掌握数据库技术

具体地说,要学习以下内容:

(1)学会使用SQL Server 2005:不要求精通它的各种工具与管理配置技术,但至少知道如何连接,如何建表,如何创建存储过程;

(2)学习ADO.NET,掌握使用代码人工访问数据库(别用VS2005的向导)的方法;

(3)学习数据绑定控件的使用。

第六步 理解多层架构

这时,先前在OO学习阶段涉及到的程序集与应用程序域等就派上用场了,现在,网站架构大多采用多层架构:表示层、业务逻辑层、数据存取层以及数据库本身。

可以先上网找一此多层架构的资料看,再找一个现成的比较复杂的开源ASP.NET项目分析一下其架构就差不多了。基本上都是一个套路,到处应用。

有的朋友问:学习架构是不是必须学习设计模式。

我的看法是:不必!当然,你如果学习过设计模式,那当然更好。但在实际开发中,如果只想着机械地套用某种模式,反而起不到好的结果。我的观点:在学习设计模式时要多思多悟,其思想就会渐渐地融入你的大脑,在真实的设计实践中,忘掉所有的写在书上的模式,一切从实际出发,相信你的直觉,只要达到设计要求的方案就是可行的方案,事实上,你这样做了之后,回过头来再看,会发现你的设计往往暗合设计模式的理论。 

第七步 学习XML与Web Service

先了解XML的基础知识,找本讲XML的书看一下就差不多了,然后,再学习Web Service。Web Service其实可类比为远程方法调用(以XML格式表达的调用信息)。

学到了这里,如果你还有兴趣,不妨再去看看SOA,不过SOA的资料都是理论与概念,看起来比较郁闷,而且离实际开发可能比较远。所以,这是可选项。

第八步 学习AJAX

学习AJAX的主要目的是创建具有更丰富特性的Web表示层,而经过前面七步的学习,到此再学习AJAX已水到渠成,所有的基础都已具备,不会有太大的问题了。

在基础未具备的前提下直接学AJAX,就象“浮沙之上筑高台”,所以,将AJAX的学习次序安排在这里。

第九步 学习RIA技术

RIA:Rich internet application,可看成是将C/S与B/S优点合二为一的尝试。就具体技术来说,主要指微软的Silverlight(WPF_E),毕竟前头一路行来都是微软路线。

不过目前学习它主要是为了技术储备。估计此技术的普及需要2到3年的时间,因为预装Vista的机器今年才开始大卖。

至此,九阳神功大功告成,您可以靠此神功行走江湖了。

奉上此文,供和我一样的朋友们学习之用。昨天电脑中毒,QQ被盗了一个,提醒大家小心木马,我的好QQ至今没能要回来,心已是凉了一半,工作压力又大,很多同事奔走告别,也许辞职是迟早的事情吧。


网站标题:vb.net架构学习 vbnet开发环境
地址分享:http://azwzsj.com/article/dosdcee.html