命令模式與它在源碼中的運用

將每個請求當作一個命令,存下具體的命令接收者,而後等待着命令被執行或者被取消,當命令被執行時,能夠先記錄先執行了那些命令,接着命令接收者開始執行本身的操做。java

若是明確知道或者能夠推斷出命令的接收者,也可不不在命令中存儲,直接由命令自己去推斷或者執行調用接受者git

訪問流程以下github

命令模式可運行案例戳這裏

命令模式在Hystrix中的運用

這對不一樣的場景,用戶須要建立繼承HystrixCommand的類bash

class DefaultSettingCommand extends HystrixCommand<String>
複製代碼

而後針對每一個請求建立一個新的命令來執行post

DefaultSettingCommand defaultCommand = new DefaultSettingCommand(logicService,word);
defaultCommand.execute();
複製代碼

Hystrix瞭解能夠戳這裏
繼承HystrixCommand完整可執行的實例請戳這裏spa

一般可使用命令模式的狀況

須要對每一個請求作出特定的處理。包括對請求從新賦予另外一個生命週期、從新安排請求的執行時間/順序/撤銷請求、記錄請求的執行記錄或者是在原請求上再構建一個高層次的操做code

相關文章
相關標籤/搜索