深入.NET框架 (今天发的大多数都是理论性知识)
大家好,本人小白一枚,把今天新学的内容和大家分享一下,好了,废话不多说了,咱们切入主题吧!
既然我们要进行.NET框架的深入了解,就要认识Microsoft .NET,那么就由我来给大家介绍一下.NET
2000年,微软公司向全球提供其具有革命性的软件和服务平台,这对于消费者、企业者和软件开发商来说,预示着个人将获得更大的能力
和充满更多商业机会新时代的到来。Microsoft .NET平台利用已互联网为基础的计算和通信激增的特点,通过先进的软件技术和众多的智能设备,
从而提供更简单、更为个性化、更有效的互联网服务。 更为重要的是,用户将完全摆脱人为硬件束缚,可以自由“冲浪”、访问、查看,自由使用
自己的数据,而不是束缚在PC的方寸空间——可以通过任何桌面系统、便携式计算机及移动电话或者PDA访问。 .NET的战略目标是在任何地方
(where)、任何时候(when)、使用任何工具(what)都能通过.NET的服务获得网络上的任何信息,享受网络带给人们的便捷与快乐。
了解了.NET框架的来历,那么他有哪些过人之处呢?下面我们来一一介绍。
1.提供了一个面相对象的编程环境,完全支持面向对象编程。 .NET框架提高了软件的可复用性、可拓展性、可维护性和灵活性。
2.对Web应用的强大支持。如今是互联网的时代,大量的网络应用程序发挥这重要的作用。例如,世界上较大的PC供应商戴尔公司(
DELL)。他的销售手段是网络订购方式,他的官方网站就是由.NET开发的。面对如此如此庞大的用户群体的访问,它仍旧能够保持高效率的工
作,者与.NET平台的强大功能与稳定性是分不开的。又如,红极一时的社交网站Myspace也是使用.NET开发的
3.对Web Service(Web服务)的支持。Web Service是.NET非常重要的内容,他可以实现不同应用程序之间互相通信。我们经常使
用的携程订票系统,就支持Web Service功能
4.实现SOA,支持云计算。SOA是一个重要的架构范例,它支持中间层解决方案的模块化实现,而.NET就是提供了对SOA实现的支
持。同时,.NET也提供了对云计算的支持,Windows Azure就是一个构建在微软数据中心内提供云计算的应用平台。
5.支持构建.NET程序的炫彩外衣 如图所示。
了解了.NET Framework的强大功能和魅力后,下面我们来介绍.NET Framework的组成及工作原理
首先是.NET框架的两大组件:
分别是.CLR**(Common Language Runtime)公共语言运行时和FCL(Framework Class Library)框架类库其中CLR又包含了CTS
(通用类型系统)和CLS(公共语言规范)
.NET框架核心结构图和.NET编译过程图
.NET框架核心结构图 .NET编译过程图
面向对象:
1.类和对象
类和对象有着本质的区别,类定义了一组概念的模型,而对象是真实的实体,他们之间的关系如下:
由对象归纳为类,是归纳对象共性的过程
在类的基础上,将状态和行为实体化为对象的过程称为实例化。
对与类的属性,我们通过get和set访问器进行访问和设置,用来保障类中的数据的安全。属性访问器分为以下三种:
只写属性:只包含set访问器
只读属性:只包含get访问器
读写属性:同时包含get和set访问器。
设置属性的方法:先定义一个私有字段,然后将这个字段封装成属性,如实例1
可以使用快捷键 ctrl+r+e
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
还有一种是自动属性,自动属性的快捷键是 prop关键字+Tab键+Tab键,相对来说封装属性比自动属性灵活,因为封装属性可以使用
逻辑判断 if-else 进行相对的判断,而自动属性不具有此功能。自动属性的代码:
public string MyProperty { get; set; }
既然上面讲到了封装,那么我们就来介绍一下什么是封装,用我的理解的意思就是:封装,可以看成是一个箱子,这个箱子里可以存放
字段、属性、方法和字符串等,封装有几个好处,那就是保证了数据的安全性,提供清晰的对外接口,类内部实现可以任意修改,不影响其他类。
接下来我们讲讲类图,在实际的软件开发中,软件的规模一般都很大,如开源的.NET开发工具SharpDevelop的源代码就有几十万行。
如此巨大的代码量,一行一行的阅读时很困难的,因此我们经常使用类图来解决这个问题。类图可以讲属性和行为以及方法显示出来如图:
如果想在Visual Studio 2012中打开一个类图,我们可以这样:
这样就可以查看类图了。。。。。。。。。。。
好了,今天的理论性知识就先讲这么多,以后每天更新,把我每天所学的知识进行总结,然后展现给大家。