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

原创 2006年06月15日 23:34:00

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

组件:编译后的实体
在.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();

相关文章推荐

2016年第七届蓝桥杯C/C++程序设计_编程题9题_交换瓶子

交换瓶子有N个瓶子,编号 1 ~ N,放在架子上。比如有5个瓶子: 2 1 3 5 4要求每次拿起2个瓶子,交换它们的位置。 经过若干次后,使得瓶子的序号为: 1 2 3 4 5对于这么简单的情...
  • lwlldd
  • lwlldd
  • 2017年01月09日 16:47
  • 301

"巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场训练总结【9/10】

Ac题数:7 总罚时:540 A.结构体排序水题。 B.规律题。 C.暴力枚举即可。 D.模拟即可。 E.爆搜即可。 F.类似LCS的那种Dp.设定Dp【i】【j】表示...

C#程序设计基础教程与实训_9.class

  • 2008年07月09日 13:52
  • 3.25MB
  • 下载

ACM-ICPC国际大学生程序设计竞赛北京赛区(2015)网络赛A题2015-9-20

[PKU A题] (http://hihocoder.com/contest/acmicpc2015beijingonline/problem/1) 题目描述: 题目1 : The Cats’ F...
  • PNAN222
  • PNAN222
  • 2015年09月20日 17:22
  • 522
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: C#(9):基于组件的程序设计
举报原因:
原因补充:

(最多只允许输入30个字)