理解C#系列 / .NET体系结构

.NET体系结构

索引

  1. 前提条件
  2. 编程
  3. 编程语言
  4. 编程语言之一:C#
  5. C#依赖.NET平台
  6. .NET平台下的公共语言运行库
  7. .NET平台下的基础类库
  8. C#可以开发什么?

前提条件

  1. [最低配置]知道什么是计算机,什么是硬件,什么是软件。
  2. [最低配置]知道什么是应用程序,会使用应用程序,例如QQ。
  3. [最低配置]达到小学毕业知识水平。
  4. [推荐配置]知道什么是网络,会使用网络服务,例如百度。
  5. [推荐配置]学会技能:“百度一下,你就知道”。

编程

  1. 编程就是教计算机做事儿。[附言:人工智能就是教计算机做人。]
  2. 编程的例子:{QQ:教计算机把人的语言文字通过网络传给其他人的计算机并让其他人看见;百度:教计算机从网络中收集信息并把信息整理一下告诉那些想知道的人;}
  3. 如何编程?使用编程语言,编写代码,这些代码就像是命令一样指挥计算机做事。

编程语言

  1. 编程语言是指挥计算机做事的命令集合。[附言:编程语言即开发程序的语言简称开发语言。]
  2. 目前常见的编程语言有:C,C++,C#,Java,JavaScript,Python,汇编语言。
  3. 为什么会有这么多种编程语言?你想想虽然同样是开车从A到B,但是开越野,开跑车,开奔驰,开宝马,开自行车的方法难道一样吗。都是教计算机做事,怎么个教法,那叫一个千姿百态。
  4. 高级编程语言能够用简短的命令做更复杂的事。好比你给汽车下一个开启车灯闪烁的命令,而不用亲自控制车灯第一秒打开,第二秒关闭,第三秒再打开。。。。。。

编程语言之一:C#

  1. C#语言是微软创造的高级编程语言。
  2. C#语言适合开发基于Windows操作系统的程序。
  3. C#语言基于面向对象思想。

C#依赖.NET平台(.NET Framework)

  1. C#语言通过控制.NET平台来间接的控制计算机做事。
  2. C#是专门为与.NET平台一起使用而设计的,C#必须和.NET平台一起使用。
  3. C#的功能取决于.NET平台的功能。
  4. .NET提供一种环境,在这个环境中,可以开发在Windows上运行的几乎所有应用程序。
  5. 不要被.NET名字迷惑,认为这是一个只关注Internet的架构,这个名称中的.NET仅表示微软相信连接网络的应用程序是未来的趋势。

.NET平台下的公共语言运行库

  1. .NET平台的核心是公共语言运行库(CLR),它管理着代码的执行。
  2. .NET平台在公共语言代码的指导下运行,公共语言也叫中间语言(IL)。
  3. C#语言代码对于.NET平台而言,是源代码,也叫托管代码(managed code),但是C#语言不是公共语言,所以.NET平台不认识C#语言写的代码。
  4. C#语言代码需要通过C#编译器编译转换成公共语言代码。
  5. .NET的公共语言运行库把公共语言代码编译成操作系统能看得懂的代码。
  6. 这事儿就好像是皇帝下了道圣旨,先传给大臣,大臣看懂了圣旨,交代手下官员去办事,官员接到命令,再去派遣小兵实施。
  7. C#代码转换为中间语言代码,中间语言代码转换为操作系统代码,这种模式相比于从源代码直接转换成操作系统代码的优点在于:平台无关性,提高性能。
  8. 平台无关性:C#无需考虑操作系统的多样性和复杂性,并且由公共语言运行库负责内存管理,使得开发者专注于业务开发。
  9. 提高性能:公共语言运行库在把中间语言代码编译成操作系统代码的时候,会针对不同处理器进行相对应的代码优化,提高操作系统执行时的性能。

.NET平台下的基础类库

  1. .NET基础类库简称.NET基类,它为编程提供了基础的类型对象及其功能,例如Windows窗体及窗体的属性,建立窗体的方法等。
  2. 开发人员可以使用.NET基类实现Windows操作系统的绝大多数功能。
  3. 开发人员可以使用名称空间来对类进行分类,这里先不多介绍类这个面向对象的概念了,这不是一两句话就能说清的。

C#可以开发什么?

  1. C#可以基于WinForm和WPF开发Windows应用程序。
  2. C#可以基于ASP.NET开发WEB网站(浏览器B/服务器S)。
  3. C#可以基于WCF开发WEB服务(客户端C/服务器S)。
  4. C#可以开发Windows服务(在后台持续运行的程序)。
  5. C#可以开发Windows控件(能被其他应用程序调用的控件,例如支付宝安全控件密码框)。
时间: 2024-10-02 17:39:32

理解C#系列 / .NET体系结构的相关文章

[Nhibernate]Nhibernate系列之体系结构

引言 在项目中也有用到过nhibernate但对nhibernate的认识,也存留在会用的阶段,从没深入的学习过,决定对nhibernate做一个系统的学习. ORM 对象-关系映射(OBJECT/RELATION MAPPING,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统.对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据

深入理解JavaScript系列(结局篇)(转载)

深入理解JavaScript系列(结局篇) 介绍 最近几个月忙得实在是不可开交,终于把<深入理解JavaScript系列>的最后两篇“补全”了,所谓的全是不准确的,因为很多内容都没有写呢,比如高性能.Ajax安全.DOM详解.JavaScript架构等等.但因为经历所限,加上大叔希望接下来写点其它东西,所以此篇文字就暂且当前完结篇的总结吧,以后有时间的话,可以继续加上一些未涉及的专题内容. 网络文章来源 本系列文章参考了大量的互联网网站,在此向各位网站拥有者.博主.提到的以及未提到的作者们说一

深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点(转)

才华横溢的Stoyan Stefanov,在他写的由O’Reilly初版的新书<JavaScript Patterns>(JavaScript模式)中,我想要是为我们的读者贡献其摘要,那会是件很美妙的事情.具体一点就是编写高质量JavaScript的一些要素,例如避免全局变量,使用单变量声明,在循环中预缓存length(长度),遵循代码阅读,以及更多. 此摘要也包括一些与代码不太相关的习惯,但对整体代码的创建息息相关,包括撰写API文档.执行同行评审以及运行JSLint.这些习惯和最佳做法可以

深入理解JavaScript系列 --汤姆大叔

深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章,如果对你有用,请推荐支持一把,给大叔写作的动力. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 深入理解JavaScript系列(2):揭秘命名函数表达式 深入理解JavaScript系列(3):全面解析Module模式 深入理解JavaScript系列(4):立即调用的函数表达式 深入理解JavaScript系列(5):强大的原型和原型链 深入理解JavaScript系列(6

深入理解JavaScript系列(33):设计模式之策略模式(转)

介绍 策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户. 正文 在理解策略模式之前,我们先来一个例子,一般情况下,如果我们要做数据合法性验证,很多时候都是按照swith语句来判断,但是这就带来几个问题,首先如果增加需求的话,我们还要再次修改这段代码以增加逻辑,而且在进行单元测试的时候也会越来越复杂,代码如下: validator = { validate: function (value, type) { switch (type) { c

深入理解JavaScript系列(21):SOLID五大原则之接口隔离原则ISP(转载)

深入理解JavaScript系列(21):SOLID五大原则之接口隔离原则ISP 前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第4篇,接口隔离原则ISP(The Interface Segregation Principle). 英文原文:http://freshbrewedcode.com/derekgreer/2012/01/08/solid-javascript-the-interface-segregation-principle/注:这篇文章作者写得

深入理解javascript系列,读书笔记

深入理解JavaScript系列(2):揭秘命名函数表达式 1.讲了函数声明和函数表达式的区别,包括一些在函数提升上的区别 2.如果给函数表达式的函数也取名,会在调试的时候受益 3.不要在block(if while for语句)中声明函数,无论哪种形式,原因我的上篇博客有提到

深入理解JavaScript系列(43):设计模式之状态模式

介绍 状态模式(State)允许一个对象在其内部状态改变的时候改变它的行为,对象看起来似乎修改了它的类. 正文 举个例子,就比如我们平时在下载东西,通常就会有好几个状态,比如准备状态(ReadyState).下载状态(DownloadingState).暂停状态(DownloadPausedState).下载完毕状态(DownloadedState).失败状态(DownloadFailedState),也就是说在每个状态都只可以做当前状态才可以做的事情,而不能做其它状态能做的事儿. 由于Stat

深入理解JavaScript系列(结局篇)

介绍 最近几个月忙得实在是不可开交,终于把<深入理解JavaScript系列>的最后两篇“补全”了,所谓的全是不准确的,因为很多内容都没有写呢,比如高性能.Ajax安全.DOM详解.JavaScript架构等等.但因为经历所限,加上大叔希望接下来写点其它东西,所以此篇文字就暂且当前完结篇的总结吧,以后有时间的话,可以继续加上一些未涉及的专题内容. 网络文章来源 本系列文章参考了大量的互联网网站,在此向各位网站拥有者.博主.提到的以及未提到的作者们说一声:多谢感谢了. 本系列文章主要参考了如下站