The Elements of C# Style - Packaging

1.文件

1.1在单个文件中放在命名空间作用域内的每个元素

  用其容纳的元素名为文件命名,大小写也要一致

1.2 用元素名作为文件名

2.命名空间

2.1 不要污染框架命名空间

  不要在System命名空间下创建类型。

2.2 为每个命名空间创建单独的目录

2.3 将常被共同使用、修改和发布或互相依赖的类型放到同一个命名空间下

  共同重用原则

  包由一起重用的类组成。如果使用包中的一个类,则也使用了其他类。

  共同封闭原则

  包中的类对同一种修改关闭。对包中的修改影响到包中所有类。

  将可能为了同样原因同时修改的类放到同一个包中。如果两个类太过相关,对其中一个的修改会影响另一个,则将它们放到一个包中。

  重用发布等价原则

  重用单元就是版本发布单元。有效的重用需要跟踪来自变更控制系统的版本发布。该包是重用和版本发布的有效单元。

  无环依赖原则

  包之间的依赖结构必须是一个有向无环图,依赖结构中不能有环。

2.4 在分开的程序集中隔离不稳定的类

  避免将不稳定的类和稳定的类放到一个包中。

2.5 最大化抽象以最大化稳定性

  稳定抽象原则

  包呈现的稳定性与其抽象级别直接相称。包越抽象就越倾向稳定。包越具体就越倾向不稳定。

2.6 将高级设计和框架捕获为稳定抽象,组织到稳定命名空间中

3. 程序集

3.1 让程序集和命名空间的名字保持一致

3.2 避免让难以修改的程序集依赖易于修改的程序集

  稳定依赖原则

  包之间的依赖关系应导向稳定性增加。包只应依赖于比自身稳定的包。

3.3 手工证件程序集的版本号

  手工添加AssemblyVersionAttribute,而不要依赖默认的版本号方案。

3.4 只把单个类暴露给COM,不暴露整个程序集

  在程序集层次设定ComVisible特性为false,暴露单个类。

3.5 将有不安全代码的类放到单独程序集中

3.6 静态链接本地代码

 

 

posted on 2012-08-26 21:39  lufangtao  阅读(263)  评论(0编辑  收藏  举报

导航