也大話設計模式

2021-06-21 03:03:41 字數 997 閱讀 7016

1. 命令模式

場景:乙個物件請求呼叫另乙個物件的方法

結構:請求者、接收者、命令

目的:引入命令介面,解耦請求者和接收者之間的關係

機制:請求者只管發出命令,命令需要怎樣完成、呼叫那些接收者,與請求者無關

2. 觀察者模式

場景:多個物件對乙個物件的資料變化都感興趣,都希望跟蹤其變化(如:微博關注)

或者乙個物件希望多個物件及時了解自己的變化(如:新聞訊息推送)

結構:主題、觀察者

機制:主題不僅包含自身資料,也記錄了所有觀察者,資料變化就發通知,可以增刪觀察者

3. 裝飾模式

場景:需要隨時改變某個物件的功能,而不是改變類的功能(如:遊戲中的人物增加道具、公升級等)

結構:抽象元件(抽象類而非介面)、具體元件、裝飾(

抽象元件的乙個子類)、具體裝飾

機制:具體元件的乙個例項便是「被裝飾者」,稱之為「主體」;

具體裝飾便是來改變「主體」功能的;

因為裝飾和主體源自同一父類,所以「裝飾」和「主體」其實是等價的,裝飾即主體,主體即裝飾;

裝飾方法的實現,是以主體為傳入引數,以裝飾為傳出引數(反正它們可以被同一父類「

抽象元件」引用)

4. 策略模式

場景:由於使用者需求的變化,導致需要經常修改類中的某個方法體,即不斷變化演算法(如:列表展示時的多種排序)

辦法:如果每當使用者需求變化時,就導致修改類中的某部分**(如:排序演算法),那麼就應該將這部分**從類中分割出去,降低它與其他穩定**的耦合度;

將該方法封裝在乙個介面(strategy)中,提供多個實現即可

5. 責任鏈模式

場景:對於乙個使用者請求,需要多個物件來協同處理響應(如:性格測試中的問答,如果選a,跳到第幾題,如果選b,跳到第幾題)

結構:處理者(介面,提供處理方法且可以設定後繼處理者)、具體處理者

機制:第乙個處理者收到請求,處理一番,交給後繼處理者(動態設定)或直接返回處理結果

稍後繼續、、、、

大話設計模式

大話設計模式 這是乙個中國人寫的書,準確的說是部落格。經常聽到有人說國人寫不出好書,而說的人自己有夢想寫出一些書,那言外之意 有些書,是好書,我們可以好好精細研讀。有些書,寫的不是那麼精彩,我們可以借鑑學習。而能出版的書 一些不常見的出版社除外 總有值得我們去學習的東西。其實熟的好與壞很多時候不在於...

大話設計模式

例項 計算機控制程式 if與switch的效率問題 印刷術 活字印刷術 可維護,可復用,可擴充套件,靈活性好。物件導向的好處 通過封裝 繼承 多型把程式的耦合度降低。業務的封裝 業務邏輯與介面邏輯分開,讓它們之間的耦合度下降。聚合關係 聚合表示一種弱的 擁有 關係,體現的是a物件可以包含b物件,但b...

大話設計模式 原型設計模式

用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。是用於建立重複的物件,同時又能保證效能。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。意圖 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。主要解決 在執行期建立和刪除原型。如何解決 利用已有的乙個原...