北京理工大学金旭亮老师C#(107—CBDInPractice)

.NET组件化开发技术基础

.NET平台的组件即“程序集”

  • “程序集”是.NEFramework中基本的软件模块,它可以包容数目不限的“类型”,其常见的载体为一个或多个dll文件,也可以是一个可独立执行的EXE文件
  • 一个Assembly可包含多个Namespace
  • 一个项目如果需要使用特定程序集中的类型,需要添加对此程序集的“引用(Reference)”。

关于引用

  • 在项目结点上右击,从弹出菜中选择“添加引用”
  • 当被添加引用的项目位于同一解决方案时,推荐直接引用项目
  • 只有程序集文件(dll或exe文件时),通过“Browse”按钮添加引用。

程序集的内部结构

  • 分为单文件程序集和多文件程序集
  • .NET编译器将程序员编写的代码转换为IL指令
  • 放在程序集文件中的元数据,表明这个程序集的版本号,由谁开发,其中定义了多少个类型,每种类型又定义了多少成员......

组件设计时的“对外接口最小化”原则

  • 一个程序集中,可以放置任意多个类
  • 仅有需要为外界所使用的类,才设置为“公有”的
  • 设置为公有的供外部使用的类,其公有成员“越少越好”,这样的类易于使用和维护。

组件之间的“依赖性”

  • 包容于某组件内部的类,如果需要调用另一个组件中的类实现的功能,则称为“组件依赖”。
  • 我们使用“耦合性”这个术语来描述“组件依赖”。
  • 如果某个组建内部代码频繁地调用另一个组件中的代码,我们说这两个组件之间具有“强耦合性”。
  • 设计各组件时,尽量减少组件之间过强的耦合性。

组件间的依赖关系

  • 实际开发中,通常设计“单向”的组件依赖关系。
  • 具有相同的抽象级别 的多个组件组成一个“层”,层之间的依赖关系,也是单向的。
  • 组件化多层架构,是当前软件系统最常见的架构。

避免出现组件循环依赖的情况

  • 可以使用在组件间移动类的方式,将相互依赖的类移到同一个组件中,从而断开组件之间的循环依赖。

组件的版本

  • 组件化开发时,应该高度注意组件的版本一致性的问题,否则,系统可能会出现很难排查的BUG。
  • VS使用NuGet从网络上检索、安装和配置组件,已成为主流的组件管理方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值