< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>
頭五項原則是關于類設計的,它們是:
&#9670; SRP,單一職責原則,一個類應該有且隻有一個改變的理由。
&#9670; OCP,開放封閉原則,你應該能夠不用修改原有類就能擴充一個類的行為。
&#9670; LSP,Liskov替換原則,派生類要與其基類自相容。
&#9670; DIP,依賴倒置原則,依賴于抽象而不是實作。
&#9670; ISP,接口隔離原則,客戶隻要關注它們所需的接口。
另外的六項是關于包的設計原則。在本文中,包是指一個二進制的可釋出檔案,比如.jar檔案、或dll檔案,而不是Java包或是C++的命名空間(譯注3)。
頭三項包原則是關于包内聚性的,它們會告訴我們該把什麼劃分到包中:
&#9670; REP,重用釋出等價原則,重用的粒度就是釋出的粒度。
&#9670; CCP,共同封閉原則,包中的所有類對于同一類性質的變化應該是共同封閉的。
&#9670; CRP,共同重用原則,一個包中的所有類應該是共同重用的。
最後的三項原則是關于包之間的耦合性原則的,并且論述了評價系統中包結構優良與否的評判标準。
&#9670; ADP,無環依賴原則,在包的依賴關系圖中不允許存在環。
&#9670; SDP,穩定依賴原則,朝着穩定的方向進行依賴。
&#9670; SAP,穩定抽象原則,包的抽象程度應該和其穩定程度一緻
本文轉自 netcorner 部落格園部落格,原文連結:http://www.cnblogs.com/netcorner/archive/2006/11/22/2912468.html ,如需轉載請自行聯系原作者