zoukankan      html  css  js  c++  java
  • Net体系结构

    C#简介

    用C#(.NET)可以开发什么程序?

    1. 控制台程序
    2. 桌面应用程序
    3. 网站
    4. 手机程序
    5. Windows服务
    6. 嵌入式程序

    C#源文件

    1. designer.cs 是窗体设计器生成的代码文件,作用是对窗体上的控件做初始化工作(在函数InitializeComponent()中)VS2003以前都把这部分代码放到窗体的cs文件中,由于这部分代码一般不用手工修改,在VS2005以后把它单独分离出来形成一个designer.cs文件与窗体对应。这样cs文件中剩下的代码都是与程序功能相关性较高的代码利于维护。
    2. sln:解决方案文件,为解决方案资源管理器提供显示管理文件的图形接口所需的信息。
    3. csproj:项目文件,创建应用程序所需的引用、数据连接、文件夹和文件的信息。
    4. aspx:Web 窗体页由两部分组成:视觉元素(HTML、服务器控件和静态文本)和该页的编程逻辑。Visual Studio 将这两个组成部分分别存储在一个单独的文件中。视觉元素在.aspx 文件中创建。
    5. ascx:ASP.NET 的用户控件(也叫做"pagelets"),是作为一种封装了特定功能和行为(这两者要被用在Web应用程序的各种页面上)的Web页面被开发的。一个用户控件包含了HTML、代码和其他Web或者用户控件的组合,并在Web服务器上以自己的文件格式保存,其扩展名是*.ascx。ASP.NET里的缺省 配置并不允许Web客户端通过URL来访问这些文件,但是这个网站的其他页面可以集成这些文件里所包含的功能。
    6. aspx.cs:Web 窗体页的编程逻辑位于一个单独的类文件中,该文件称作代码隐藏类文件(.aspx.cs)。
    7. cs: 类模块代码文件。业务逻辑处理层的代码。
    8. asax:Global.asax 文件(也叫做 ASP.NET 应用程序文件)是一个可选的文件,该文件包含响应 ASP.NET 或 HTTP 模块引发的应用程序级别事件的代码。
    9. config:Web.config 文件向它们所在的目录和所有子目录提供配置信息。
    10. aspx.resx/.resx:资源文件,资源是在逻辑上由应用程序部署的任何非可执行数据。通过在资源文件中存储数据,无需重新编译

    C#程序文件

    主要由exe和dll组成。

    C#与Net的关系

    1. C#是一种编程语言。
    2. Net由一个框架类库(FCL,实质是封装Windows API)与公共语言运行库(CLR)组成,并且支持多种开发语言。

    clip_image001_thumb1

    Net框架中的组件

    clip_image002_thumb4

    NET框架中有很多重要的组件,其中.NET Framework类库包括Web窗体、WebService、WinForms、ADO.NET、XML类、基本框架类,CLR中包括CLS和CTS两部分。

    Net Framework的核心是公共语言运行库CLR。通常称在CLR控制下运行的代码称为托管代码。

    公共语言运行库

    C#源代码-----------》IL(微软中间语言)---------CLR-----》平台专用代码。

    CLR叫做公共语言运行库时(Common Language Runtime)。简单地说,它是一个支持.Net应用程序运行和开发的虚拟机(与Java虚拟机类似),并且支持JIT(即时编译)。CLR由CLS(公共语言规范)和CTS(通用类型系统)两部分组成。

    CLS是一个编程规范,CTS是数据类型规范,它们存在的目的是为了实现语言的互操作性问题,例如VB.NET和C#在.Net框架下实现互相调用。

    CLR的特点

    1. 平台无关性
    2. 提高性能
    3. 语言的互操作性

    中间语言IL

    1. 面向对象和接口的支持
    2. 不同的值类型和引用类型
    3. 强数据类型化

    程序集

    程序集(assembly)是包含编译好的、面向.NET Framework的代码的逻辑单元。简单地说,程序集是dll或exe运行时内存中的代码集合。

    元数据:元数据是指描述数据的数据。NET中的元数据是指描述程序集中的类、方法、属性的数据。因此,反射就是通过元数据来获取程序集的信息。

    程序集有两种类型:私有程序集和共享程序集。

  • 相关阅读:
    KVC的取值和赋值
    OC中属性的内存管理
    mysql的通信协议
    Proactor模式&Reactor模式详解
    Linux异步IO学习
    Redis 分布式锁的实现原理
    redis过期键
    智能指针
    std::unique_lock与std::lock_guard
    手撕代码
  • 原文地址:https://www.cnblogs.com/cmhunter/p/3922916.html
Copyright © 2011-2022 走看看