1. 程式人生 > >OOP 思想 和 設計原則 及24種設計模式

OOP 思想 和 設計原則 及24種設計模式

父類 分組 策略 結構 並且 實例 適配器模式 closed 不同的

oop思想:封裝、繼承、多態 把組件實現和接口分開,並且讓組件具有多態性 面向對象編程是一種解決軟件復用的設計和編程方法,這種方法把軟件中相近相似的操作邏輯和操作應用數據、狀態以類的形式描述出來,以對象實例的形式在軟件系統中復用,以達到提高軟件開發效率的作用。 封裝: 封裝可以使類具有獨立性和隔離性;保證類的高內聚。只暴露給類外部或子類必須的屬性和操作。 繼承:對現有類的一種復用機制。一個類如果繼承現有的類,則這個類將擁有被繼承類的所有菲斯有特性(屬性和操作)。這裏指的繼承包含:類的繼承和接口的實現。 多態:多態是在繼承的基礎上實現的。多態的三個要素:繼承、重寫和父類引用指向子類對象。父類引用指向不同的子類對象時,調用相同的方法,呈現出不同的行為;幾十類多態特性。多態可以分成編譯時多態和運行時多態。 oop 五大設計原則(SOLID原則) 外加 迪米特法則 和 組合優於繼承原則(合成復用原則): 一、單一職責原則 單一職責有2個含義,一個是避免相同的職責分散到不同的類中,另一個是避免一個類承擔太多職責。減少類的耦合度,提高類的復用性。 二、接口隔離原則 表明客戶端不應該被強迫實現一些他們不會使用的接口,應該把胖接口中的方法分組,然後用多個接口代替它,每個接口服務於一個子模塊。簡單說,就是使用多個專門的接口比使用單個接口好很多。 該原則觀點如下: 1、一個類對另外一個類的依賴性應當是建立在最小的接口上 2、客戶端程序不應該依賴它不需要的接口方法。 三、開放-封閉原則 open模塊的行為必須是開放的、支持擴展的,而不是僵化的。 closed在對模塊的功能進行擴展時,不應該影響或大規模影響已有的程序模塊。一句話概括:一個模塊在擴展性方面應該是開放的而在更改性方面應該是封閉的。 核心思想就是對抽象編程,而不對具體編程。 四、替換原則 子類型必須能夠替換掉他們的父類型、並出現在父類能夠出現的任何地方。 主要針對繼承的設計原則 1、父類的方法都要在子類中實現或者重寫,並且派生類只實現其抽象類中生命的方法,而不應當給出多余的,方法定義或實現。 2、在客戶端程序中只應該使用父類對象而不應當直接使用子類對象,這樣可以實現運行期間綁定。 五、依賴倒置原則 上層模塊不應該依賴於下層模塊,他們共同依賴於一個抽象(父類不能依賴子類,他們都要一類抽象類) 抽象不能依賴於具體,具體應該要依賴於抽象 24種設計模式(gof23+1) 創建型模式: 1、簡單工廠模式(不包含在gof23中) 2、工廠模式 3、抽象工廠模式 4、單例模式 5、原型模式 6、創建者模式 結構型模式: 1、組合模式 2、裝飾者模式 3、外觀模式 4、適配器模式 5、代理模式 6、享元模式 7、橋接模式 行為型模式 1、觀察者模式 2、策略者模式 3、狀態模式 4、中介模式 5、模板方法 6、命令模式 7、備忘錄模式 8、訪問者模式 9、解釋器模式 10、叠代器模式 11、職責鏈模式

OOP 思想 和 設計原則 及24種設計模式