深入.NET框架

1.1 .NET框架的优点

  面向对象

  对Web应用的强大支持

  对Web Service(Web服务)的支持

  实现SOA,支持云计算

  支持构建.NET程序的炫彩外衣

二:  .NET框架结构

  1.NET运行在操作系统之上,是.NET最基础的框架。他提供了创建,部署和运行.NET应用的环境,主要包括公共语言运行时(CLR)和

  框架类库(.NET FrameWork 类库(FCL)),并且支持多种开发语言。例如:(C#,VB,.NET,C++)等。

      2..NET最主要的两个组件:CLR和FCL。CLR是.NET框架的基础。FCL是一个中和性的面向对象的可重用的类型集合。

     3.CLR的全称为公共语言运行时(Common Language Runtime),它是所有.NET应用程序的环境.是说有.NET应用程序都要使用的编程基础

  它如同一个支持.NET应用程序运行和开发的虚拟机,它包含两个组成部分:CLS(公共语言规范)和CTS(通用类型系统)

 4.FCL是.NET框架的另一个重要组成部分,即框架类库FCL提供了对系统功能的调用,是建立.NET应用程序,组件和控件的基础。

  类库:物理文件

  命名空间:逻辑字符串

  类库的概念:

   一堆功能相似 的 类的集合。         类似于QQ主程序平级目录的支撑类库 ,以dll结尾的文件(dynamic linked library 动态链接库)         类库的两种体现形态:exe  dll

   5..NET的编译技术(如图)

    如图所示:

.NET所有编写的程序都不编译成本地代码,而是转换为微软中间代码(MSIL),它将由JIT编译器转换为机器代码

   6.在使用FCL时我们会引入一些命名空间。下面就是核心及其功能

   a.System:此命名空间包含说有其他的命名空间

   b.System.Collection.Generic:支持泛型操作

   c.System.IO 支持对文件的操作

   d.System.NET支持网路协议的编程

   e.System.Data 提供表示对ADO.NET结构的类的访问

   f.System.Windows.Forms 用于Windows应用程序的开

    7.类图:类图能够将类的属性和行为以图的方式展示出来,让读读者不用阅读大量代码即可明白他们的关系(如图示)

  8.封装     是面向对象三大特征之一     一个不可分割割的独立实体     隐藏内部的细节     保留对外接口     通过访问修饰符授权     类是一个最基本的封装     封装的好处     保证数据安全性     提供清晰的对外接口     类的内部实现可以任意修改,不影响其他类     类是一个概念     定义类           class PM           {             //省略成员           }     对象是实体     创建对象       PM pm=new PM();       get set 访问器保障类中的字段安全    9.类和对象的关系  Dept dept=new Dept();           解析:类是对象的类型  ( 大的种类) code层面:Dept                 对象是类的实例   (具体的一个个体)code层面:dept     10. .NET框架两大组件:CLR(Common Language Runtime 公共语言运行时)和FCL(Framework Class library 框架类库)     11.类库概念:一堆功能相似 的 类的集合。            类似于QQ主程序平级目录的支撑类库 ,以dll结尾的文件(dynamic linked library 动态链接库)            类库的两种体现形态:exe  dll    12.封装:就是保护一些私有字段的安全。体现2:将方法和字段放入一个容器(类)中。    13.自动属性        注意点:当我们不需要进行逻辑判定的时候,他是和私有字段+共有的属性是等价的。              自动属性底层会生成:私有字段+公有属性

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯移动品质中心TMQ的专栏

【浅谈Chromium中的设计模式(二)】——pre/post和Delegate模式

请注意pre/post不能算是典型意义上的设计模式,Pre/post是契约式编程思想的概念。但是在从chromium代码中确实能看到不少他们的身影。

4806
来自专栏CSDN技术头条

QtQuick 系列教程之 QML 与 C++ 交互

QML 作为一种灵活高效的界面开发语言已经越来越得到业界的认可。QML 负责界面,C++ 负责逻辑,这也是 Qt 官方推荐的开发方式。那么 QML 与 C++ ...

2403
来自专栏葡萄城控件技术团队

分享自制的C#和VB Code互转工具

作为.NET程序员,往往习惯使用一种语言(据我观察,2006年后的程序员习惯用C#,之前的喜欢VB)。而对于另一种语言虽然能读懂但是写起来总是比较费事。尤其面对...

2309
来自专栏walterlv - 吕毅的博客

让你编写的控件库在 XAML 中有一个统一的漂亮的命名空间(xmlns)和命名空间前缀

发布于 2018-05-22 13:21 更新于 2018-09...

3462
来自专栏FreeBuf

适用于IDA Pro的CGEN框架介绍

一切都始于我想要分析一些MeP代码的时候。我通常在IDA Pro中做逆向工作,但是有一小部分处理器IDA并不支持。幸运的是,objdump可以支持这些小众的处理...

2407
来自专栏AI派

真是绝了!史上最详细的Jupyter Notebook入门教程

Jupyter Notebook 是一个在浏览器中使用的交互式的笔记本,可以实现将代码、文字完美结合起来,它的受众群体大多数是一些从事数据科学领域相关(机器学习...

1.1K8
来自专栏游戏开发那些事

【Unity编辑器】UnityEditor多重弹出窗体与编辑器窗口层级管理

  最近马三为公司开发了一款触发器编辑器,对于这个编辑器策划所要求的质量很高,是模仿暴雪的那个触发器编辑器来做的,而且之后这款编辑器要作为公司内部的一个通用工具...

2613
来自专栏技术博客

编写高质量代码改善C#程序的157个建议[用抛异常替代返回错误、不要在不恰当的场合下引发异常、重新引发异常时使用inner Exception]

  自从.NET出现后,关于CLR异常机制的讨论就几乎从未停止过。迄今为止,CLR异常机制让人关注最多的一点就是“效率”问题。其实,这里存在认识上的误区,因为正...

1142
来自专栏漏斗社区

了解一下,PowerShell的内网渗透之旅(一)

2996
来自专栏腾讯移动品质中心TMQ的专栏

内存泄漏漫谈

对于C/C++来说,内存泄漏问题一直是个很让人头痛的问题,因为对于没有GC的语言,内存泄漏的概率要比有GC的语言大得多,同时,一旦发生问题,也严重的多,而且,内...

3037

扫码关注云+社区

领取腾讯云代金券