命令模式的定義:
encapsulat a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.(將乙個請求封裝成乙個物件,從而讓你使用不同的請求把客戶端引數化,對請求排隊或者記錄請求日誌,可以提供命令的撤銷和恢復功能。)
命令模式的通用類圖:
三種角色:
通用**:
public abstract class receiver命令模式的優點:命令模式的缺點:類膨脹public class concretereceiver1 extends receiver
}public class concretereceiver2 extends receiver
}public abstract class command
public abstract void execute(); }
public class concretecommand1 extends command
// 建構函式傳遞接收者
public concretecommand1(receiver receiver)
@override
public void execute()
}public class concretecommand2 extends command
// 建構函式傳遞接收者
public concretecommand2(receiver receiver)
@override
public void execute()
}public class invoker
// 執行命令
public void action() }
public class client
}
設計模式之禪學習筆記 責任鏈模式
一 定義 使多個物件都有機會處理請求,從而避免了請求的傳送者和接收者之間的耦合關係。將這些物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有物件處理它為止。責任鏈模式的重點是在 鏈 上,由一條鏈去處理相似的請求在鏈中決定誰來處理這個請求,並返回相應的結果。二 通用類圖 責任鏈模式的核心在 鏈 上,鏈 是...
《設計模式之禪》學習之單例模式
何為單例模式,顧名思義,單例就是單一,單獨,獨一的意思。故單例模式 singleton pattern 我問可以定義為 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。通常我們可以讓乙個全部變數是的乙個物件被訪問,但是它不能防止你例項化多個物件。乙個最好的辦法就是,讓類自身負責儲存它的唯一例...
《設計模式之禪》學習 工廠方法模式
工廠方法模式 工廠方法模式的定義 define an inte ce for creating an object,but let subclasses decide which class to instantiate.factory method lets a class defer insta...