[ASP.NET学习笔记之二十三]基于组件的程序设计

Today's Objectives

 

“基于组件编程有很多优势:代码重用,团队支持,多语言开发和独立更新。在1990年,COM是微软流行的基于组件开发的模型。.NET替代了COM,提供了一个全新模型:语言独立的,注册自由,版本明确的……”

 

基于组件的开发

什么是组件?

    组件== 编译后实体

    .NET中,组件== Assembly (exe / .dll)

组件与物理打包相关……

 

多层应用程序设计是一个很好的表现组件的例子:

 

创建组件

VS .NET中创建Class Libraryclass libraries 将被编译成DLLs

 

Internal 关键字

使用internal关键字来限制访问

    任何被标识为internal的项只能被组件内部的类访问

在组件外部没有权限访问……

 

版本

版本号:

    major.minor.build.revision

AssemblyInfo.cs中的属性可以控制

    在编译时被设置到Assembly

默认情况下,版本号在每次build时都会改变

 

谁来控制版本?

你来!

    你来决定何时应该改变版本号(任何时候)

    你需要保证在不同版本中的兼容性(如果需要)

默认情况下,.NET & CLR 会忽略版本号

    如果.EXE 需要.DLL,那么任何版本的.DLL都可以

如果组件有强命名/强名称( strong name ),那么

如果.EXE 提及需要 1.0.3 .12 版本的.DLL,那么它必须查找到1.0.3.12 版本的.DLL

 

强命名(Strong Name?

Assembly .NET 的命名有四部分:

friendly, human readable name

culture

version #

public key token

Assembly 如果有公钥token,那么它有强命名——这表示它被私钥数字签名过

 

强命名的好处?

安全性,组件无法篡改!

组件的多个版本可以共存!

应用程序可以使用它建立时的组件版本,而不是第一个找到的DLL

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值