命令模式
定義: 將一個請求封裝成一個對象,從而讓用戶使用不同的請求把客戶端參數(shù)化;對請求排隊或者記錄請求日志,以及支持可撤銷的操作.
使用場景:
- 需要抽象出待執(zhí)行的動作,然后以參數(shù)的形式提供出來.類似于過程設(shè)計中的回調(diào)機(jī)制,而命令模式正是回調(diào)機(jī)制的一個面向?qū)ο蟮奶娲?
- 在不同的時刻指定,排列和執(zhí)行請求. 一個命令對象可以有與初始請求無關(guān)的生存期.
- 需要支持取消操作.
- 支持修改日志功能,這樣當(dāng)系統(tǒng)崩潰時,這些修改可以被重做一遍.
- 需要支持事務(wù)操作.