物件導向程式設計
三大特徵 :封裝,繼承,多型
目的 : 易維護,易擴充套件,易復用,靈活性強
設計模式
六大原則 :
單一職責原則: 就乙個類而言,應該僅有乙個引起它變化的原因.
開發-封閉原則: 是說軟體實體(類,模組,函式等等)應該可以擴充套件,但不可以修改.
特徵:
對於擴充套件開發(open for extension)
對於更改封閉(close for modification)
依賴倒轉原則:
a.高層模組不應該依賴低層模組.兩個都應該依賴抽象.
b.抽象不應該依賴細節.細節應該依賴抽像.
黎克特制代換原則(lsp): 子型別必須能夠替換掉它們的父型別.
迪公尺特法則: 如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用.如果其中乙個類需要呼叫另乙個類的某乙個方法的話,可以以通過第三者**這個呼叫.
合成/聚合復用原則(carp): 盡量使用合成/聚合,盡量不要使用類繼承.
合成: 強的』擁有』關係,體現了嚴格的部分和整體關係,部分和整體的生命週期一樣.
聚合: 弱的』擁有』關係,體現的是a物件可以包含b物件,但b物件不是a物件的一部分.
設計模式學習記錄
工廠模式 實際上是把乙個類的例項化通過乙個工廠類來推遲例項化,例項化的過程是通過實現介面來返回乙個型別。這樣做的弊病是乙個類只能返回一種型別,如果過載就會形成命名衝突,所以更常用的是在工廠類裡面新增多個靜態的實現方法,這樣就可以實現各種不同的型別了。抽象工廠 抽象工廠就是在實現介面裡面包含了各種類似...
設計模式學習記錄
策略顧名思義 指計策 謀略。一般是指 1.可以實現目標的方案集合 2.根據形勢發展而制定的行動方針和鬥爭方法 3.有鬥爭藝術,能注意方式方法。做一件事我已經有多中方案,選擇執行。個人覺得策略和簡單工廠特別像。但是區別在於。我簡單工廠不需要知道我所有產品方案使人們。需要什麼就造什麼。但是策略要明白。還...
設計模式學習記錄
設計模式學習 倉庫如下 設計模式學習筆記 物件導向基本設計原則 高層模組不應該依賴於底層模組,兩者都應該依賴於抽象 如 介面展示不應該依賴於內部實現類,應該依賴於整體抽象的抽象類 抽象不應該依賴於實現細節,實現細節應該依賴於抽象 抽象依賴於實現細節就會穩定容易出問題,拿出穩定部分抽象出來,總之要實現...