导航:首页 > 编程语言 > net编程思想

net编程思想

发布时间:2022-09-02 10:34:13

1. 什么是.net程序设计

.NET Framework是新的Microsoft .NET平台的基础结构。

.NET Framework是一个用来建立、配置和运行Web应用程序和Web服务的通用环境。

.NET Framework包含一个通用语言运行环境和通用类库,如ADO .NET,ASP .NET和Windows表单,来提供可以被集成到各种计算机系统的先进的标准服务。

.NET Framework提供功能丰富的应用环境,简化了开发并且使得在多种不同开发语言之间的集成更加容易。

.NET Framework具有语言中立性,目前它支持 C++, C#,Visual Basic和JScript (Microsoft版本的javaScript)。

Microsoft的Visual Studio.NET是一个用于新的.NET Framework的通用开发环境。
#(读做 "C sharp")是微软公司在去年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角.

微软c#语言定义主要是从C和C++继承而来的,而且语言中的许多元素也反映了这一点.C#在设计者从C++继承的可选选项方面比Java要广泛一些(比如说structs),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮Java.C#还需要进化成一种开发者能够接受和采用的语言.而微软当前为它的这种新语言大造声势也是值得注意的.目前大家的反应是:"这是对Java的反击."

C#更象Java一些,虽然微软在这个问题上保持沉默.这也是意料中的事情,我觉得,因为Java近来很成功而使用Java的公司都报告说它们在生产效率上比C++获得了提高.

Java所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了(估计世界范围内共有两百五十万程序员使用Java).由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话(比如日本发明的Java电话).C#能够在用户领域获得这样的礼遇吗?我们必须等待并观望,就象已经由SSI公司的CEO和主席Kalpathi S. Suresh指出来的那样,"我发现所有这些都是渐进的.如果C#不存在,我们总能回到Java或C和C++.这些都不完全是新技术;它们在更大的意义上来说只是大公司制造的市场噱头.我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响."
C++,这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程序程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。

贝尔实验室的本贾尼·斯特劳斯特卢普(w:en:Bjarne Stroustrup)博士在20世纪80年代发明并实现了C++(最初这种语言被称作“C with Classes”)。一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、名字空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 14882-1998。遗憾的是,由于C++语言过于复杂,以及他经历了长年的演变,直到现在(2004年)只有少数几个编译器完全符合这个标准。

另外,就目前学习C++而言,可以认为他是一门独立的语言;他并不依赖C语言,我们可以完全不学C语言,而直接学习C++。根据《C++编程思想》(Thinking in C++)一书所评述的,C++与C的效率往往相差在正负5%之间。所以有人认为在大多数场合C++ 完全可以取代C语言。

C++语言发展大概可以分为三个阶段:第一阶段从80年代到1995年。这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C++中占据了越来越多的比重性。当然,同时由于Java、C#等语言的出现和硬件价格的大规模下降,C++受到了一定的冲击;第三阶段从2000年至今,由于以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C++出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使C++已经成为当今主流程序设计语言中最复杂的一员。

2. 怎么学习软件开发的 .NET 体系

步骤/方法
学习面向对象(OOP)的编程思想许多高级语言都是面向对象的编程,.NET也不例外。
如果您第一次接触面向对象的编程,就必须理解类、对象、字段、属性、方法和事件、封装、继承和多态性、重载、重写等概念。
选择一门语言,学习语法及相关基础知识选择语言的标准:根据你自己的需求和个人的技术背景。
在.NET平台下,C#、VB.NET都是调用Framework的类库,效率基本一样,C#的语法严谨,适合以前C++、VC的程序员。VB.NET不区分大小写,写法随意一些.,自动缩进,适合以前VB的程序员,微软也一再提倡用VB.NET进行快速开发。VC++.NET更接近底层,可以用托管和非托管两种方式进行编程。选择了需要使用的语言后,我们需要了解语言的语法规则,包括语句、类型、表达式、运算符、函数等等,我建议一开始写程序就要养成良好的编程风格,规范地进行变量的命名,在代码中写好注释。这对以后的软件开发生涯都是很有意义的。
3
理解.NET思想并熟悉框架类库(Framework Class Library)我们借用一幅图来说明一下公共语言运行库(CLR)、框架类库(FCL)与应用程序之间以及与整个系统之间的关系。
首先,我们要了解公共语言运行库、程序集、通用类型系统的概念。在此基础上,学习.NET框架类库。.NET 框架类库是一个与公共语言运行库紧密集成的可重用的类型集合。.NET 框架类库封装了大部分Win32 API ,许多以前需要调用API才能实现的功能,在.NET下非常容易就实现,许多情况下只需要一句话就足够了。所以,我们在程序设计的时候要尽量避免调用Win32 API。学习.NET 框架类库的捷径:掌握常用的类库,其它不常用的类库只需要了解,用到的时候查阅即可。
4
我建议初学者从Windows Forms或者是Web Form开始,等有一定的基础之后,再转向写类库或是控件、组件方面的东西。微软的帮助文档里自带许多示例,我们可以一边看帮助,一边进行演练。在学习其中的代码的同时,一定要理解和思考。多写代码、从项目中锻炼是编程高手的成长之路。

3. ASP.NET的编程思想是什么

你应聘了一个愚蠢的公司,他们只懂得考察理论,不懂得考察技术

狗屁理论知道的再多,不会写代码有什么用...公司的老版够蠢

======================

现在的主流编程思想无非两种:结构与面向对象。
在asp中我们完全采用的是结构化思想。
asp.net可以完全支持面向对象的编程思想,这不得不说是一个质上的飞跃。

4. .net和java的编程思想的差别

没什么差别,发展到后来基本一个套路,从面向对象到面向接口。

5. 请解释一下 什么是JAVA 什么是.NET

简单来讲,JAVA是现在使用比较广的面向对象的一种编程语言而已,JAVA分为四个方向,J2SE、J2EE、J2ME、JAVA
CARD(这个方面很少有人能接触到,因为是给智能机器人开发程序的),其实JAVA推出的时间很早,但是因为当时太超前了,几乎胎死腹中,直到JAVA技术让网页中的图像动起来后才得到人们的重新认识,JAVA当初的设计想法很简单,语法简单,快速开发,功能强大,但是JAVA发展到今天,却变成了,开发速度较为缓慢、维护成本高、语法复杂,功能强大了....
.NET而是微软的一种战略计划,.NET的思想是为了企业的快速开发和底成本的维护而生的,从开发速度和维护成本上来是说.NET要比JAVA快很多,但是开发工具也有微软自己的IDE而已,而且不能跨平台(个人认为:不是不能跨平台,而是微软不想,在现在LINUX和JAVA满天飞的情况下,微软如果吧.NET平台也弄成可以块平台的,无疑给自己找麻烦),也制约了.NET可以完成的一些项目,.net是一个微软的称呼,实现语言包括J#(j#因为模仿JAVA,被SUN告了,新版本的VS几乎没有对J#作更新)、vb、c#、VC++。

6. asp.net的核心是什么

HttpContext
该对象是最重要的核心对象。
属性:HttpRequest、HttpResponse、静态属性HttpContext.Current、Server、Cache
补充属性User, Items
User属性保存于当前请求的用户身份信息。如果判断当前请求的用户是不是已经过身份认证,可以访问:Request.IsAuthenticated这个实例属性。
Items这是个字典,因此适合以Key/Value的方式来访问。如果希望在一次请求的过程中保存一些临时数据,那么,这个属性是最理想的存放容器了。 它会在下次请求重新创建,因此,不同的请求之间,数据不会被共享。
如果希望提供一些静态属性,并且,只希望与一次请求关联,那么建议借助HttpContext.Items的实例属性来实现。

HttpRequest,
使 ASP.NET 能够读取客户端在 Web 请求期间发送的 HTTP 值。
在HttpRequest包含的所有输入数据,QueryString, Form, Cookie,请求头,(ip,hostName,MacAddress) ,浏览器的相关信息、请求映射的相关文件路径、URL详细信息、请求的方法、请求是否已经过身份验证,是否为SSL等等。
大量的属性如:IsAuthenticated、HttpMethod 、QueryString、Form 、Files、Cookies、InputStream(输入流)、Headers 、Path、Browser 、RawUrl 、MapPath、FilePath、Url 、Params、ApplicationPath、 、Filter 等等。

HttpHandler、HttpMole
HttpMole检查请求,
HttpHandler处理事件

HttpResponse
向客户端返回结果。所有需要向客户端返回的操作,都要调用HttpResponse的方法。
如:响应头、响应流。
拥有属性:StatusCode 、ContentType、Cookies 、OutputStream(输出流)、Cache 、Filter 等
方法:
AppendHeader()

Write()

End()

Redirect()

TransmitFile()
在服务端发生异常不能返回正确结果时,设置StatusCode属性,比如:Response.StatusCode = 500,可以激活客户端的ajax回调方法:error:function(){alert("服务器出错!")}
HttpRequest和HttpResponse的Filter,这个属性实现的效果就是装饰器模式,你可以对输入输出流进行装饰。

HttpRuntime,
下有:HttpRuntime.Cache缓存。Page.Cache或者HttpContext.Cache都是对它的引用。
HttpServerUtility
下有:HtmlEncode()方法,用于防止注入攻击,它负责安全地生成一段HTML代码。
HtmlAttributeEncode(),它也是用于防止注入攻击,安全地输出一个HTML属性。
JavaScriptStringEncode(),也是为了防止注入攻击,安全地在服务端输出一段JS代码。
UrlEncode()方法,对url进行编码。
HtmlDecode(), UrlDecode()用于解码。
Execute()此方法用于,获取一个页面或者用户控件的HTML输出时很有用。

HttpApplication
当HttpContext对象创建以后,HttpRuntime将随后创建一个用于处理请求的对象,这个对象的类型就是HttpApplication。
HttpApplication有19个标准事件
BeginRequest,这个事件标志着服务器处理工作的开始。
开始处理请求后,第一个工作就是要验证用户的身份以实现安全机制
通过AuthenticateRequest和PostAuthenticateRequest两个事件处理
AuthenticateRequest 验证请求,一般用来处理取得请求的用户信息
PostAuthenticateRequest 已经获取请求的用户信息
第四个事件AuthorizeRequest触发的时候,表示进行用户权限的检查工作
第五个事件则标志着完成了用户权限的检查工作
如果用户没有通过安全检查,一般情况下,将跳过剩下的事件,直接触发最后一个事件结束处理。
ResolveRequestCache事件标志着检查缓存
PostResolveRequestCache 表示缓存检查的结束。
(这个地方比较特殊,如果有缓存的话,是不是就立即给用户返回结果了呢?)

在ASP,NET中提供了许多处理程序,程序员也可以自定义处理程序,为了处理这个请求,ASP.NET必须按照匹配规则找到一个处理当前求情的处理程。
PostMapRequestHandler事件标志ASP.NET已经获得了这个处理程序对象,HttpContext的Handler就表示这个处理对象。
为了获取用户以前保存的数据,AcrequireRequestState事件给程序员提供了一个切入点,PostAcrequireRequestState 则表示已经获取了用户的数据,可以在处理中使用了。
接下来就是PreRequestHandlerExcute真正开始告诉程序员处理程序就要开始工作了。如果用户的状态已经获取,还有需要在处理程序处理之前进行的工作,就在这个事件中开始吧。
PreRequestHandlerExcute事件之后,ASP.NET服务器将通过执行处理程序完成请求的处理工作,这个处理程序可能是一个Web窗体,也可能是一个Web服务。

处理程序完成后,服务器开始扫尾工作,PostRequestHandlerExcute 通知程序员,ASP.NET服务器的处理程序已经完成。

第12个事件是个重要的节点啊!

ReleaseRequestState事件通知程序员释放在处理程序中操作的特殊数据,PostReleaseRequestState则表示已经释放完成。
如果希望将这次处理的结果缓存起来,以便于在后继的请求中可以直接使用这个结果,UpdateRequestCache 提供了处理的机会。
PostUpdateRequestCache 则表示缓存已经更新完成。
以上16个事件结束了,还剩下三个事件。

17 LogRequest 请求的日志操作
18 PostLogRequest 已经完成了请求的日志操作
19 EndRequest 本次请求到此结束

应用程序域创建完成之后,一个ISAPIRuntime对象被创建,并自动调用它的ProcessRequest()方法。
创建一个HttpWorkerRequest对象,调用ISAPIRuntime对象的StartProcessing()方法,开始HTTP Pipeline,一个HttpRuntime类型的对象被创建,HttpRuntime对象调用ProcessRequest()方法,创建了一个HttpContext对象。HttpContext 对象包含了在编程中非常常见的HttpResponse(返回给浏览器处理过的信息)和HttpRequest(获得Http请求信息) 两个对象。

HttpMole对象:在初始化HttpApplication对象时被初始化,一个HttpApplication 可以有多个HttpMole对象,HttpMole对象的主要职责就是在不同时期把相应的事件注册到HttpApplicatioin事件当中去。比如完成身份验证,授权,操作缓存等。Asp.Net MVC UrlRouteMole路由模块就是重写了HttpModele

HttpHandler对象:在初始化HttpApplication对象时被初始化,一个HttpApplication可以有多个HttpHandler对象,HttpHander负责最终处理Http请求。不同的文件有不同的HttpHander负责处理。Asp.Net MVC MvcHandle完成了最终处理。

7. net与php的区别和优势

优势:微软公司推出的跟微软操作系统结合起来的开发语言,兼容性要高于其它语言。

区别如下:

一、指代不同

1、net:微软下一代的操作平台,允许人们在其上构建各种应用方式,使人们尽可能通过简单的方式,多样化地、最大限度地从网站获取信息,解决网站之间的协同工作。

2、php:即“超文本预处理器”,是一种通用开源脚本语言。

二、特点不同

1、net:在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。

2、php:由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP 运行环境的使用也是免费的。


三、优势不同

1、net:使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,而绝不损失C/C++原有的强大的功能。

2、php:可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。


8. vb和vb.net是一样的吗有什么不同

1、从OOP概念上讲,VB不是一个真正的面对对象的语言,他不支持继承等一些面对对象的特性,而VB.net是一个面对对象的语言,支持这些特性

2、VB和VB.net都可以用来网络编程的,这点可以肯定,两者都有这个功能
VB是通过控件进行网络编程,而VB.net可以通过VB的控件,也可以是用.net框架提供的system.net命名空间下的所有的类

3、正确理解VB.net中的.net,.NET 是微软推出的一种新的编程思想和模式,对于网络提出了一个新的概念(当然功能有了很大的革新),微软在.net 框架中规定了通用语言规范,只要符合这个规范,都可以利用.net强大的功能来完成任务,比如delphi.net ,他是.net和通用语言规范结合的产物,.net 框架提供了好多功能,简单列出一些命名空间
System 包含所有的数据类型和...
System.IO包含Windows文件,数据流的访问操作和...
System.Net包含网络有关的各种协议TCP,UDP等等和...
System.Text包含字有关的,比如经典正则表达式
System.Data包含访问数据的所有的类
System.Web包含Web有关的,比如Web Services的新概念
System.Drawing包含GDI+的所有功能,可以绘制图形
System......等等
当然还包括Microsoft.VisualBasic等微软产品的系列的命名空间

这些命名空间可以用于所有.net的应用程序,比如可以用System.Drawing包含GDI+的所有功能来Web上动态的设计图表
而实现它就可以用VB.net的语言

4、可以宽泛的来解释就是:VB.net=VB(OOP)+.net

5、VB.net的运行方式和VB不同,比如VB就是通过一个DLL动态链接库文件来编译的,而VB.net是先生称MSIL(微软中间语言)代码,然后通过通用语言运行时,将MSIL继续编译生成更好更高效的代码。这位朋友可以试着用一下.net下的vbc.exe编译工具,写个小程序编译下试试

6、两者语法相同,但有少许差异,VB.net的运算符和一些错误处理机制多了一些

7、VB和VB.net最擅长用于快速开发,不需要太过于考虑性能的快速开发,但是VB.net和其他语言的功能天生是相等的,现在的VB.net用于Web应用程序,WinForm应用程序开发的情况就比较多,而其他应用我不是很了解或一时想不出来,我有个朋友就是用.net做嵌入式开发的,但他们公司也用.net 做3G开发

8、狗屁六级的vrhero,“VB.NET也是VB”还在这儿放这么多废屁,这样的人就是没事找抽型 把你的6个问题也给解释一下,1、smalltalk是纯粹的OOP语言,Java %90的OOP,VB不支持OOP的特性,所以不完全是,够明白了吧2、完全不知所云---我写的这些不是拷过来的,不能说我不知所云3、我只是把我经常用到的命名空间告诉这位朋友不为过4、误人子弟,屁话5、屁话6、笔误,是我的错7、你用VC++开发web给我看看,相比VB.net和C#看看那个快,各种语言都各有所长,不是我说的,微软.net系列清华出版的这么多书,那本不都有说明吗?你补充的那几句,学过.net的人都知道,没有实用价值。
“除了语法和使用习惯的继承,VB 6.0之前的版本和VB 7.0之后的版本完全没有联系,几乎没有相同之处,两种不同体系的语言”和“VB.NET也是VB ”这种自相矛盾的话,就认为这位高级经理是大脑发热,笔误吧!

阅读全文

与net编程思想相关的资料

热点内容
fw压缩图片 浏览:254
淘宝申请源码靠谱吗 浏览:870
androidupdater 浏览:635
c2d游戏源码大全可复制版 浏览:771
电脑怎样重置网关命令 浏览:411
winftplinux 浏览:335
推特app界面如何设置成中文 浏览:452
太空工程师转子编程属性 浏览:32
windowscmd关机命令 浏览:342
云桌面只要服务器装一套软件 浏览:247
电脑右键按到什么导致文件夹全屏 浏览:454
我的世界如何制造服务器主城 浏览:365
linuxssh连不上 浏览:297
永宏plc用什么编程电缆 浏览:371
win激活命令行 浏览:886
新手学电脑编程语言 浏览:893
云空间在哪个文件夹 浏览:926
编程游戏小猫抓小鱼 浏览:790
安卓dosbox怎么打开 浏览:774
服务器无影响是怎么回事 浏览:958