頭三項包原則是關于包內聚性的,它們會告訴我們該把什么劃分到包中:
◆ 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++代碼很少使用此項功能。
文章來源于領測軟件測試網 http://www.kjueaiud.com/