天天看點

面向對象設計的11原則

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

  頭五項原則是關于類設計的,它們是:

  ◆ SRP,單一職責原則,一個類應該有且隻有一個改變的理由。

◆ OCP,開放封閉原則,你應該能夠不用修改原有類就能擴充一個類的行為。

◆ LSP,Liskov替換原則,派生類要與其基類自相容。

◆ DIP,依賴倒置原則,依賴于抽象而不是實作。

◆ ISP,接口隔離原則,客戶隻要關注它們所需的接口。

  另外的六項是關于包的設計原則。在本文中,包是指一個二進制的可釋出檔案,比如.jar檔案、或dll檔案,而不是Java包或是C++的命名空間(譯注3)。

  頭三項包原則是關于包内聚性的,它們會告訴我們該把什麼劃分到包中:

  ◆ REP,重用釋出等價原則,重用的粒度就是釋出的粒度。

◆ CCP,共同封閉原則,包中的所有類對于同一類性質的變化應該是共同封閉的。 

◆ CRP,共同重用原則,一個包中的所有類應該是共同重用的。

  最後的三項原則是關于包之間的耦合性原則的,并且論述了評價系統中包結構優良與否的評判标準。

  ◆ ADP,無環依賴原則,在包的依賴關系圖中不允許存在環。

◆ SDP,穩定依賴原則,朝着穩定的方向進行依賴。

◆ SAP,穩定抽象原則,包的抽象程度應該和其穩定程度一緻

本文轉自 netcorner 部落格園部落格,原文連結:http://www.cnblogs.com/netcorner/archive/2006/11/22/2912468.html  ,如需轉載請自行聯系原作者