头三项包原则是关于包内聚性的,它们会告诉我们该把什么划分到包中:
◆ REP,重用发布等价原则,重用的粒度就是发布的粒度。
◆ CCP,共同封闭原则,包中的所有类对于同一类性质的变化应该是共同封闭的。
◆ CRP,共同重用原则,一个包中的所有类应该是共同重用的。
最后的三项原则是关于包之间的耦合性原则的,并且论述了评价系统中包结构优良与否的评判标准。
◆ ADP,无环依赖原则,在包的依赖关系图中不允许存在环。
◆ SDP,稳定依赖原则,朝着稳定的方向进行依赖。
◆ SAP,稳定抽象原则,包的抽象程度应该和其稳定程度一致。
译注:
1,OOD,全称Object Oriented Design,即面向对象设计。
2,PPP,即Bob大叔的著作《敏捷软件开发 原则、模式与实践》一书以及其相关书籍,因都有“原则、模式与实践”,即Priciples, Patterns and Practices,故常简称为PPP。
3,命名空间,原文为namespace,也译作名字空间。它是一种特殊的作用域,它包含了处于该作用域内的所有标示符,且本身也用一个标示符来表示,这样便于将一系列在逻辑上相关的标示符用一个标示符来组织。就Java编程语言来说,命名空间是通过java包来表达的,所有代码都归属与一个包。来自其他包中的代码要通过指定包名来引用某项特定的标示符,例如,包java.lang中的String类要通过java.lang.String的形式引用。在C++中,命名空间常用来避免命名冲突,尽管现今的C++语言对命名空间做出了扩展,但过去的C++代码很少使用此项功能。
文章来源于领测软件测试网 https://www.ltesting.net/