在實際的開發中,我們要想更深入的了解物件導向思想,就必須熟悉前人總結過的物件導向的思想的設計原則單一職責原則開閉原則黎克特制替換原則依賴注入原則介面分離原則迪公尺特原則其實就是開發人員經常說的」高內聚,低耦合」也就是說,每個類應該只有乙個職責,對外只能提供一種功能,而引起類變化的原因應該只有乙個。在設計模式中,所有的設計模式都遵循這一原則。
核心思想是:乙個物件對擴充套件開放,對修改關閉。
其實開閉原則的意思就是:對類的改動是通過增加**進行的,而不是修改現有**。
也就是說軟體開發人員一旦寫出了可以執行的**,就不應該去改動它,而是要保證它能一直執行下去,如何能夠做到這一點呢?這就需要借助於抽象和多型,即把可能變化的內容抽象出來,從而使抽象的部分是相對穩定的,而具體的實現則是可以改變和擴充套件的。
核心思想:在任何父類出現的地方都可以用它的子類來替代。
其實就是說:同乙個繼承體系中的物件應該有共同的行為特徵。
核心思想:要依賴於抽象,不要依賴於具體實現。
其實就是說:在應用程式中,所有的類如果使用或依賴於其他的類,則應該依賴這些其他類的抽象類,而不是這些其他類的具體類。為了實現這一原則,就要求我們在程式設計的時候針對抽象類或者介面程式設計,而不是針對具體實現程式設計。
核心思想:不應該強迫程式依賴它們不需要使用的方法。
其實就是說:乙個介面不需要提供太多的行為,乙個介面應該只提供一種對外的功能,不應該把所有的操作都封裝到乙個介面中。
核心思想:乙個物件應當對其他物件盡可能少的了解
其實就是說:降低各個物件之間的耦合,提高系統的可維護性。在模組之間應該只通過介面程式設計,而不理會模組的內部工作原理,它可以使各個模組耦合度降到最低,促進軟體的復用設計模式(design pattern)是一套被反覆使用、多數人知曉的、經過分類編目的、**設計經驗的總結。使用設計模式是為了可重用**、讓**更容易被他人理解、保證**可靠性。
設計模式不是一種方法和技術,而是一種思想
設計模式和具體的語言無關,學習設計模式就是要建立物件導向的思想,盡可能的面向介面程式設計,低耦合,高內聚,使設計的程式可復用
學習設計模式能夠促進對物件導向思想的理解,反之亦然。它們相輔相成名字必須有乙個簡單,有意義的名字問題描述在何時使用模式解決方案描述設計的組成部分以及如何解決問題效果描述模式的效果以及優缺點
建立型模式物件的建立
結構型模式物件的組成(結構)
行為型模式物件的行為建立型模式:簡單工廠模式,工廠方法模式,抽象工廠模式,建造者模式,原型模式,單例模式。(6個)結構型模式:外觀模式、介面卡模式、**模式、裝飾模式、橋接模式、組合模式、享元模式。(7個)行為型模式:模版方法模式、觀察者模式、狀態模式、職責鏈模式、命令模式、訪問者模式、策略模式、備忘錄模式、迭代器模式、直譯器模式。(10個)簡單工廠模式概述又叫靜態工廠方法模式,它定義乙個具體的工廠類負責建立一些類的例項優點客戶端不需要在負責物件的建立,從而明確了各個類的職責缺點這個靜態工廠類負責所有物件的建立,如果有新的物件增加,或者某些物件的建立方式不同,就需要不斷的修改工廠類,不利於後期的維護
物件導向設計原則和設計模式
誰來建立另乙個類的示例?對於類a和類b,滿足下列條件 1.b包含a 2.b記錄a 3.b和a關係很密切 4.b擁有a例項化所必需的示例 則應該由b來建立a的例項,其中1 2優先 為乙個物件分配職責的一般原則是什麼?誰具有完成一件事情所必須的資訊,就把職責分配給它 步驟 1.把職責描述清楚 2.設計模...
物件導向的設計原則和設計模式
物件導向程式設計的優點及目的 可復用,可擴充套件,可維護,靈活性好。物件導向程式設計的核心思想 對於變化 或不確定的 的部分,要構造抽象來隔離變化,達到解耦合的效果。介面,多型都是抽象的手段。物件導向程式設計的七個基本原則 單一職責原則 開放 封閉原則 依賴倒轉原則 黎克特制代換原則 最少知識原則 ...
設計模式 物件導向設計原則
軟體的可維護性和可複製性是兩個非常重要的軟體質量屬性 物件導向物件設計原則是設計模式學習的基礎。每乙個設計模式都符合乙個或者多個物件導向設計原則 單一職責原則是最簡單的物件導向設計原則,它用於控制類的粒度大小 單一設計原則 乙個物件應該只包含單一的職責,並且該職責被完整的封裝在乙個類裡 這也意味著 ...