C#(9):基于组件的程序设计

来源:互联网 发布:淘宝御泥坊旗舰店 编辑:程序博客网 时间:2024/06/15 23:54

基于组件编程有很多优势:代码重用
建立组件 部署组件 配置文件

组件:编译后的实体
在.NET 中组件==Assembly(exe/.dll)

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

GUI.exe---Business.dll----Data.dll---DB

创建组件
在vs.NET中创建Class Library--被编译成DLLs

如何实现
1使用名称空间进行逻辑组织
2使用类和OO的设计

internal只能被组件内部的类访问

版本:major.minor.build.revision
AssemblyInfo.cs中的属性可以控制

强命名 Strong Name
Assembly在.Net的命名有四部分
friendly human readable name
culture
version
publicKeyTokenru
Assebly如果有公钥token 就有强命名
创建强命名组件的步骤
1生成一组public-private key pair
2将其通过AssemblyInfo.cs的属性应用到组件中
3重新编译assembly
4重新编译客户端

安装到GAC
组件必须是强命名的
使用.NET"gacutil"命令行工具
Gactil /i BusinessComponent.dll

私钥的安全recompile
保护key文件
[assembly AssemblyDelaySign(false)]
[assembly AssemblyKeyFile("..//..//..//pro.key")]
[assembly AssemblyKeyName("")]

部署组件

config
<configuration>
 <appSetting>
   <add Key="ConnectionString" value=""/>
  </appSetting>
</configuration>

using CFG=System.Configuration.ConfigurationSettings

sConnect=CFG.AppSettings["ConnectionString"].ToString();

原创粉丝点击