.net组件技术

.NET是什么?

  •.NET是一个平台,而不是一种语言。

  •.NET是Microsoft的用以创建XML Web服务(下一代软件)平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。

公共语言运行库(CLR)

  •公共语言运行库,即Common Language Runtime,简称CLR。

  •CLR是.NET Framework的核心,通常在CLR控制下运行的代码称为托管代码(managed code)

  •在CLR执行编写好的源代码之前,需要编译它们。在.NET中编译分为两个阶段:

    1、把源代码编译为Microsoft中间语言(IL);

    2、CLR把IL编译为平台专用的代码。

.NET中的编译过程(CLR)

中间语言(IL)

  •Microsoft中间语言和java字节码一样都是低级语言,语法简单,能快速转换为本地机器码。这种设计的通用语法有很重要的优点:平台无关性、提高性能和语言的互操作性。

  •中间语言的主要特征:

     1、面向对象和使用接口

    2、值类型和引用类型之间的显著差异

    3、强数据类型化

    4、异常处理

    5、使用特性

通用类型系统(CTS)

  •CTS定义了可以在IL中使用的预定义数据类型,所有面向.NET Framework的语言都可以生成基于这些类型的编译代码。

  •例子:假定VB定义的一个类中包含一个返回值为Integer类型的方法,C#定义的一个类包含这个类的一个实例,要它的调用返回值为Integer类型的方法,而C#中没有名称为Integer的数据类型,这个问题在.NET中是怎么处理的呢?

  •对于这个问题,VB中的Integer实际上是一个32位有符号的整数,它实际映射为中间语言类型int32,因此在IL代码中就指定这种数据类型,C#编译器就可以使用这种类型,所以就不会有问题了。

  •CTS不仅指定了基本数据类型,还定义了一个类型层次结构,其中包含设计合理的位置,在这些位置上,代码允许定义自己的类型。

  

公共语言规范(CLS)

  •公共语言规范(Common Language Specification, CLS)和通用类型系统一起确保语言的互操作性。

  •CLS是一个最低标准集,所有面向.NET的编译器都必须支持它。

  •例子:IL是区分大小写的语言,但VB是不区分大小写的语言。CLS通过指定CLS兼容代码不适用任何只根据大小写区分的名称,解决了不区分大小写的问题。因此,VB代码可以与CLS兼容代码一起使用。

  •CLS的两种工作方式:

    1、各个编译器的功能不必强大到支持.NET的所用功能;

    2、如果限制类只能使用CLS兼容的特性,就要保证用其他兼容语言编写的代码可以使用这个类。

程序集(Assembly)

  •程序集(assembly)是包含编译好的、面向.NET Framework的代码的逻辑单元。

  •程序集是完全自描述的,它是一个逻辑单元而不是物理单元,可以存储在多个文件中。如果一个程序集存储在多个文件中,其中就会有一个包含入口点的主文件,该文件描述了程序集中的其他文件。

  •程序集的结构:

    1、程序集元数据

    2、类型元数据

    3、MSIL代码

    4、资源

  

时间: 2024-08-01 10:31:35

.net组件技术的相关文章

16.COM组件技术应用之一:ActiveX控件

一.ActiveX控件(COM组件技术的应用之一) flash.ocx 1. 概念 1.1 ActiveX控件的概念 基于COM组件技术,可以被任何支持COM标准的计算机程序的项目使用. 可是采用拖拽的方式创建,使用向一般控件一样方便.文件的后缀是ocx,有时称ocx控件. 1.2 COM组件的概念 Component Object Model,组件对象模型.可以改善项目的架构,使得项目可维护性和可复用性更好. COM组件是一些小的可以执行的二进制文件,以接口的方式为其他的程序.系统和组件提供服

.Net 组件技术概述

1. 基本原理 组件是组件系统中功能的表现,没有组件就没有功能.特定接口是用于给组件管理程序来操纵.管理该组件,特定功能是组件需要完成的任务.在一个使用组件建立的产品中会随着功能数目的多少而会有多个组件的存在.  组件与组件管理程序的交互通过接口来完成,所以对于一个组件体系,组件接口的定义是很重要的事情.接口的定义描述了组件管理程序与插件的调用规则和交互过程. 2. 组件技术 概念   组  件: 组件是可独立完成某个或一系列功能的模块.通常组件由宿主程序加载,不能独立运行. 宿  主: 宿主是

Java Web编程的主要组件技术——MVC设计模式

参考书籍:<J2EE开源编程精要15讲> MVC(Model View Controller),Model(模型)表示业务逻辑层,View(视图)代表表述层,Controller(控制)表示控制层. 在Java Web应用程序中, View部分一般用JSP和HTML构建.客户在View部分提交请求,在业务逻辑层处理后,把结果返回给View部分显示 Controller部分一般用Servlet组成,把用户的请求发给适当的业务逻辑组件处理:处理后又返回Controller,把结果转发给适当的Vie

Java Web编程的主要组件技术——Struts核心组件

参考书籍:<J2EE开源编程精要15讲> Struts配置文件struts-config.xml Struts核心文件,可配置各种组件,包括Form Beans.Actions.ActionMappings.全局转发GlobalForwards.数据源DataSource及插件Plugins. 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts-config PUBLI

Java Web编程的主要组件技术——Struts入门

参考书籍:<J2EE开源编程精要15讲> Struts是一个开源的Java Web框架,很好地实现了MVC设计模式.通过一个配置文件,把各个层面的应用组件联系起来,使组件在程序层面联系较少,耦合度较低.它定义了自己的标签库来实现是视图层,创建了一个内在的Servlet,叫ActionServlet,作为自己的控制器,建立一个叫Action类的对象实现业务逻辑.视图组件和业务逻辑组件的关系在struts-config.xml的配置文件中声明.当Struts应用程序启动时,它首先从struts-c

谈组件技术(二) 必备知识.

阿里妹导读:以深度学习为代表的人工智能在图像.语音和NLP领域带来了突破性的进展,在信息检索和个性化领域近几年也有不少公开文献,比如wide& deep实现了深度模型和浅层模型的结合,dssm用于计算语义相关性,deepfm增加了特征组合的能力,deep CF用深度学习实现协同过滤,rnn recommender 采用行为序列预估实现个性化推荐等. 工业级的信息检索或个性化系统是一个复杂的系统工程,深度学习的工业级应用需要具备三个条件:强大的系统计算能力,优秀的模型设计能力和合适的应用场景.今天

Java Web编程的主要组件技术——Servlet

参考书籍:<J2EE开源编程精要15讲> Servlet是可以处理客户端传来的HTTP请求,并返回响应,由服务器端调用执行,有一定编写规范的Java类. 例如: 1 package test; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 impo

Java Web编程的主要组件技术——Struts的高级功能

参考书籍:<J2EE开源编程精要15讲> Struts对国际化的支持 "国际化"(I18N)指一个应用程序在运行时能根据客户端请求所来的国家/地区.语言的不同显示不同的用户界面.要用Struts实现国际化,所要用的各种语言版本的"标签"信息存放在不同的属性文件中,每个文件对应一个语言版本.文件名后缀必须为properties,前缀名由开发者确定,其中的语言种类字段必须是有效的ISO(International Standardization Organi

Java Web编程的主要组件技术——JDBC

参考书籍:<J2EE开源编程精要15讲> JDBC(Java DataBase Connectivity)是Java Web应用程序开发的最主要API之一.当向数据库查询数据时,Java应用程序先调用JDBC API,然后JDBC API把查询语句提交给JDBC驱动器,JDBC驱动器把查询语句转化为特定数据库理解的形式,JDBC驱动器检索SQL查询的结果,并转化为Java应用程序使用的等价JDBC API类和接口. JDBC驱动器 JDBC软件包本身不能链接任何数据库,它只是一个API框架,需