代码改变世界

Effective C# 学习笔记(五十)构建小型内聚程序集

2011-09-12 23:17  小郝(Kaibo Hao)  阅读(401)  评论(0编辑  收藏  举报

一个好的程序集应是大小合适且包含足够(不多不少)的公有类型。

高内聚的程序集的优点

  1. 高内聚可以使程序集的职责更清晰,更易于维护。如System.CoreSystem.Windows.FormsWeb Forms的划分就是针对不同的功能来划分的,之间没有交叉。
  2. 不要在程序集中只设置一个公有类型,每个程序集的大小的规划原则是每个程序集只有一个功能职责。如果你分得过细,就会创建过多的程序集,就会缺失了封装的好处。
  3. 将应用程序分别放到不同的程序集中,每个程序集中只包含相关的类型。如:分层构建程序也是一个划分程序集的好处,你可以在客户端构建SmartClient为用户提供UI接入,而在服务端进行服务的维护,各层各付其职。而验证逻辑也可以独立出来,供各层引用,程序的验证逻辑更新时只需更新该验证逻辑程序集即可。这也是Enterprise Library的思想。其将验证、日志、异常处理、依赖注入等功能分别构建在不同的application block中,自己组合,灵活多变且易于维护和扩展。
  4. 程序集之间的通信也要花费更多的资源。
  5. 跨程序集之间的调用需要注意授信权限的不同

 

构建程序集的考虑要点

  1. 将处理一个功能集的公有类型及其基类和接口放到一个程序中
  2. 将各个公有类型共用的Utility类作为internal放到该程序集中
  3. 将各个程序集公用的Utility单独构建程序集(如:loggingException Handling