回头再学Asp.net系列--基础篇(序)

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 11:42 点击:

 

时光如梭,不知不觉间虫子作为码农已经3年光景了。见识了太多了大牛、大侠。

 

站在巨人的肩膀上,容易好高骛远。虽然自己确实做了很多,摸了不少,曾经还自诩为优秀的架构师。可真的站在架构师这个角度的时候突然发现自己的脚下是悬空的。危险!

 

虫子相信和他类似的人很多很多,包括所谓的架构师。不信,我随便问您2个问题,绝对是最基础的,您或许了解但您未必全面:

 

1..NET BCL里有哪些是类(结构),为什么它们不是结构(类)?在自定义类型时,您如何选择是类还是结构?

 

2.什么是.NET?什么是CLI?什么是CLR?IL是什么?JIT是什么,它​​是如何工作的?GC是什么,简述一下GC的工作方式?

 

 

 

从现在开始虫子准备放下所有包袱重新回到地面上,从0开始,带您回顾Asp.net的基础之旅。当然,概念性的描述虫子就不带您回顾了,虫子只是为了填坑。

 

先放出上面2个问题的答案吧。

 

1.类是一种“引用类型”。创建类的对象时,对象赋值到的变量只保存对该内存的引用。将对象引用赋给新变量时,新变量引用的是原始对象。通过一个变量做出的更改将反映在另一个变量中,因为两者引用同一数据。

 

结构是一种值类型。创建结构时,结构赋值到的变量保存该结构的实际数据。将结构赋给新变量时,将复制该结构。因此,新变量和原始变量包含同一数据的两个不同的副本。对一个副本的更改不影响另一个副本。

 

类通常用于对较为复杂的行为建模,或对要在创建类对象后进行修改的数据建模。结构最适合一些小型数据结构,这些数据结构包含的数据以创建结构后不修改的数据为主

 

BCL(Base Class Library)是Dot Net Framework下所有语言使用的类库(有哪些类和结构,太多,自己留心就可以了~需要注意的是DateTime这玩意其实是一个结构体。)为什么他们不是结构(类)呢?  struct 类型适于表示Point、Rectangle 和Color 等轻量对象。尽管使用自动实现的属性将一个点表示为类同样方便,但在某些情况下使用结构更加有效。例如,如果声明一个1000 个Point 对象组成的数组,为了引用每个对象,则需分配更多内存;这种情况下,使用结构可以节约资源。因为.NET Framework 包含一个名为Point 的对象,所以本示例中的结构命名为“CoOrds”。复数、坐标系中的点或字典中的“键-值”对都是结构的典型示例。

  除非满足一下所有条件,否则不要定义成值类型(结构体)

 

  第一,类型具有基元类型的行为。类型简单,其中没有成员会修改类型的任何实例字段。

 

  第二,类型不需要从其他任何类型继承。

 

  第三,类型不会派生出其他任何类型。

 

  除了满足以上全部条件,还必须满足以下条件中的一个。

 

  第一,类型的实例较小(约是16字节或者更小)。

 

  第二,类型实例较大,但不作为方法的实参传递,也不通过方法返回。

 

堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些

 

结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。

 

在表现抽象和多级别的对象层次时,类是最好的选择

 

大多数情况下该类型只是一些数据时,结构时最佳的选择

 

 

 

2.什么 是.NET

 

      Dot Net是微软在2000提出的一整套平台,包括底层操作系统:Windows;辅助产品:Dot Net企业服务器;Mcirosoft XML Web服务:.Net My Services;开发平台:Dot Net框架,集成的开发环境:      Visual Studio 。以上几个部分组成。

 

  底层操作系统:当然是Windows 对全线的操作系统都提供XML Web服务支持。服务器操作系统2003开始,个人操作系统从Vista开始集成.Net Framework。并且操作系统原始的API也开始用Dot Net的API隔离,其原始构想相当庞大而激进,这在Vista的开发中显得尤为明显,后来微软砍掉了一些原本的准备在Vista上发布的特性,但是Vista也已经表现的和前任大不相同,当然其中的是非曲折又是另一个话题了。总之为了Dot Net计划微软在操作系统上投入的心力,可以非常明确的看出微软对Dot Net计划的重视。

 

  辅助产品:大家比较熟悉的就是SQL Server了吧,也有了脱胎换骨式 ​​的变化,首先是那个

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • 浅析.NET下XML数据访问新机制
      • asp.net 面试+笔试题目第1/2页
      • C# 邮件地址是否合法的验证
      • C#高级编程:数据库连接[1]
      • asp.net 设置GridView的选中行的实现代码
      • 经典C++程序1
      • IIS 自动回收导致后台定时器失效的问题解决
      • ASP.NET GridView列表代码示例
      • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1