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 静态链接本地代码

 

 

原文地址:https://www.cnblogs.com/lufangtao/p/2657746.html