面向對象的基本原則----

1.開閉原則(Open Closed Principe OCP)編程

  OCP是面向對象設計中「可複用這幾」的基石,是面向對象設計中最重要的原則之一。對於擴展是開發的,對於修改是關閉的,這意味着模塊的行爲是能夠擴展的。當應用的需求改變時,咱們能夠對模塊進行擴展,使其具備知足那些改變的新行爲。也就是說咱們能夠改變模塊的功能。對於模塊行爲擴展時,沒必要改動模塊的源代碼。設計

  後面提到的里氏替換原則(LSP)、依賴倒轉原則(DIP)、接口隔離原則(ISP)以及抽象類(Abstract)、接口(Interface)等等,均可以看做是開閉原則的實現方法。對象

 

2.里氏替換原則(Liskov Substitution Principle LSP)繼承

  任何基類可出現的地方,子類必定能夠出現。LSP是繼承複用的基石,只有當衍生類能夠替換掉基類,軟件單位的功能不受影響時,基類才能真正被複用,而衍生類也可以在基類的基礎上增長新的行爲。里氏替換原則是對「開-閉」原則的補充。實現「開-閉」原則的關鍵步驟就是抽象化。而基類與子類的繼承關係就是抽象化的具體實現。因此里氏替換原則就是對實現抽象化的具體步驟的規範。接口

  若是違反了LSP設計,那麼根據具體的狀況能夠在下面的兩種方案中選擇一種。ip

  -----建立一個新的抽象類C,做爲兩個具體類的超類,將A,B的共同行爲移動到C中來解決問題。ci

  -----集成關係改成委派關係。開發

 

3.依賴倒置原則(Dependence Inversion Principle)it

  A.高層次的模塊不該該依賴於低層次的模塊,他們都應該依賴於抽象。io

  B.抽象不該該依賴於具體實現,具體實現應該依賴於抽象。

  依賴倒置原則:是程序要依賴於抽象接口,不要依賴於具體實現。簡單的說就是要對抽象進行飆車,不要對實現進行編程。這樣就下降了客戶與實現模塊之間的耦合。

 

4.接口隔離原則(Interface Segregation Principle)

  客戶端不該該依賴它不須要的接口;一個類對另外一個類的依賴應該創建在最小的接口上。

  使用多個專門的接口比使用單一的總接口要好。

相關文章
相關標籤/搜索