代码改变世界

【读书笔记】.NET本质论第一章 The CLR as a Better COM

2009-04-18 14:17  横刀天笑  阅读(...)  评论(... 编辑 收藏

COM技术关注的是独立开发和部署的程序之间的契约的问题。COM用type definitions来表达这个契约。在原来这些契约是用functional entry points表示的。

COM既是一个编程模型,也是一个技术平台。

但是COM的契约还是基于物理表示的,必须在编译时确定。我觉得COM 是使用一些“设计模式”的样式设计组件,将变的东西封装在内部。而且COM没有元数据无法更好的描述自己和所依赖的组件(这个不应该是COM的原因,COM虽说是一个规范,但并没有解决跨语言的问题,基本上都在C++里混,但是C++本身就缺少元数据)。

CLR的契约确实逻辑结构的,CLR还有丰富的元数据支持,对组件自己,对所依赖的组件都可以描述的清清楚楚。CLR还是跨语言的,所有能产生元数据和CIL的语言都能加入到.NET这个大家庭中。