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

     

     

  • 相关阅读:
    JVM垃圾收集器-Parallel Scavenge收集器
    JVM垃圾收集器-ParNew收集器
    JVM垃圾收集器-Serial收集器
    UCloud数据盘扩容步骤
    java中强引用、软引用、弱引用、幻象引用有什么区别?分别使用在什么场景?
    java中exception和error有什么区别,运行时异常和一般异常有什么区别
    maven中的坐标和仓库
    Maven常用的构建命令
    Maven学习
    【设计原则和编程技巧】单一职责原则 (Single Responsibility Principle, SRP)
  • 原文地址:https://www.cnblogs.com/lufangtao/p/2657746.html
Copyright © 2020-2023  润新知