一线开发读CLR --- 第二章:生成打包程序集及中间语言IL的初步了解

本章印象最深的两个知识点:一,程序集的构成图径;二,程序集元数据包含的信息;
还有一点关于此知识点应用的联想。
 

程序集的构成:

我们先看一下,程序集是如何由一个个文件构成的。如下图:
一线开发读CLR --- 第二章:生成打包程序集及中间语言IL的初步了解
第一步,由CSC.exe(C#编译器)将若干个 CS文件 编译成模块文件。编译成的模块文件可直接用.netModule扩展名文件表示。也可以用只含有一个模块的程序集文件(扩展名 dll)表示.
第二步,将获得的模块文件 与 若干个 资源文件 一同打包成 程序集文件。
 

对元数据的初步了解:

元数据包含于程序集及模块文件中。
元数据由几个表构成。分为三个类别:定义表,引用表,清单表
定义表:可以查看程序集中类及方法,字段,属性的定义信息。
引用表:包含类中的引用信息,方法中的引用信息。
清单表:程序集,文件的引用信息。
可以看得出 反射 获取 对程序集的元数据中这些自描述的信息,达成想要的操作。
 
作者还建议 私有布署程序集文件,减少对其它DLL的依赖,增加应用程序的健壮性。
 

由本章内容引起的联想:

把软件的核心框架与业务逻辑分离。核心框架中包含业务逻辑程序集升级模块。
每次升级只升级业务逻辑程序集。
感觉有点像插件系统。分布式的插件系统。呵呵

你可能感兴趣的:(开发)