定義:
將"請求"封裝成對象,以便使用不同的請求
命令模式解決了應用程序中對象的職責以及它們之間的通信方式(即命令者和執行者完全解耦)
適用場景
請求調用者和請求接收者需要解耦,使得調用者和接收者不直接交互
需要抽象出等待執行的行爲
優點
降低耦合
容易擴展新命令或者一組命令
缺點:
命令的無限擴展會增加類的數量,提高系統實現複雜度
示例DEMO&UML:
源碼鏈接:https://github.com/NoSuchClass/design_pattern/tree/master/src/behavioral/command
In JDK
與線程相關的Runnable接口: