設計模式筆記

2021-06-25 13:09:54 字數 1054 閱讀 2325

黎克特制替換原則:

父類能出現的地方,子類也能出現;

子類盡量避免「個性」,一旦把子類當作父類使用時子類的「個性」被抹殺掉;

避免紛爭,規則壓制:

子類繼承父類,如果子類要過載父類的方法,該方法的引數型別範圍要大於等於父類,返回引數要小於父類的返回型別(這樣避免混淆);

依賴倒轉原則:

1)建構函式傳遞依賴物件:

public inte***ce driver()

public inte***ce car()

public class driver1 implements driver()

public void drive();

}2)setter傳遞依賴物件:

public inte***ce driver()

public inte***ce car()

public class driver1 implements driver();

public void drive();

}3)介面宣告依賴物件:

public inte***ce driver()

public inte***ce car()

public class driver1 implements driver();

}介面隔離原則:

1)介面裡面的方法盡量要少;(類a依賴的介面b,b介面中的方法盡量要少,最好是b介面中沒有類a所用不到的方法)

2)乙個介面只服務於乙個模組;

3)提高內聚,減少對外互動。使介面用最少的方法去完成最多的事情(盡量少提供public方法)

**模式:**類和被**類都要實現同乙個介面或者抽象類;

1)普通**:**類中要有乙個將被**的物件;例如:王婆子類裡面要有個西門慶物件,王婆子做的事情,實際也就是西門慶在做;

2)強制**:建立真實的物件時,返回的是他的乙個**;

中介者模式:

適用於幾個物件之間緊密的耦合;

把物件之間複雜的邏輯關係交給中介者去處理;(例如:我想租房子,我只要找到中介就可以了,剩下的是就是中介找房子,還有一些亂七八糟的了,我就不需要關心了)

設計模式筆記

1 類繼承與介面繼承的比較。物件的類與物件的型別的比較 乙個物件的類定義了物件怎麼樣實現的,同時也定義物件內部狀態和操作的實現。但是物件的型別只與他的介面有關,藉口即物件能響應的請求的集合。乙個物件可以有多個型別,不同的類物件可以有相同的型別。理解類繼承和介面繼承之間的差別也十分重要。類繼承根據乙個...

設計模式筆記

設計模式是一種真理,我們在沒有學習過設計模式時都會或多或少的與他不謀而合,但是學習過後我們可以把他從經驗性的東西提煉為理論性的,並且反過來再指導實踐,這應該就是我們學習並使用設計模式的初衷,這好比是政經中的價值規律,任何人都知道東西如果少了而需求大,它 馬上就漲,而反過來 就賤,可是學過政經後就可以...

設計模式筆記

設計模式精解p136,第11章 專家如何進行設計 alexander提到 從片段開始設計不是乙個好的設計方法。即將預先成型的部分新增在一起是無法得到優秀的軟體設計的。但還是可以得到可以工作的軟體的,只是大部分時候難於修改或擴充套件 我的觀點 軟體或者軟體系統都是由 功能模組 和這些 模組之間的聯絡 ...