包设计原则六大原则
高内聚 - 重用发布等价原则
- 重用的力度就是发布的粒度
- 一个包里面的类要么都可重用,要么都不可重用
- 一个包中所有类对同一使用者而言,都可重用
高内聚 - 共同重用原则
- 一个包中所有类应该共同重用;如果重用了一个类,那么就要重用包中的所有类
- 仅仅依赖其中一部分是不可能的;否则需要进行不必要的重新验证和发布,费时费力
高内聚 - 共同封闭原则
- 一个包中所有类对于同一种变化应该是共同封闭的
- 一个修改如果对一个包产生影响,则将会对包所有类产生影响,对于其他包不影响
- 通常,可维护性超过可重用性;如果代码需要修改,宁愿集中在一个包改,而不是多个包改
低耦合 - 无环依赖原则
包的依赖关系图不允许存在环
解除环方案
- 使用依赖倒置原则,抽出接口或者抽象类
- 将相互依赖的A包和B包共同依赖的类移到新包N,A包和B包依赖新包N
TIP
- 不能自顶向下的设计包
- 包的依赖关系结构和系统的逻辑设计一起增长和演化
低耦合 - 稳定依赖原则
可改变的包位于顶部,依赖底部稳定的包
稳定性
- 稳定性 = 包内依赖包外类的数量 / (包内依赖包外类的数量 + 包外依赖包内类的数量)
- 0意味着很稳定,1意味着极不稳定
低耦合 - 稳定抽象原则
- 包的抽象程度应该和其稳定程度一致
- 稳定的包应该是抽象的
- 不稳定的应该是具体的
抽象程度
- 抽象程度 = 包中抽象类数目 / 包所有类数目
- 0意味着包中没有抽象类
閱讀更多 IT學習分享 的文章