-
特點(diǎn):在使用終端操作窗口時(shí)糯而,在進(jìn)行多次命令操作后峭状,可以使用方向鍵“↑”進(jìn)行回溯,“回車”再次運(yùn)行逼争,實(shí)際就是終端保存了每次操作的命令优床,才得以實(shí)現(xiàn)這樣的操作,像類似的場(chǎng)景還有文本編輯類程序誓焦,Undo和Redo操作胆敞,所以像類似的程序操作具體要怎樣實(shí)現(xiàn)着帽?
那在面向?qū)ο缶幊讨校紫纫紤]的問(wèn)題就是如果對(duì)命令操作進(jìn)行抽象移层,每個(gè)命令要實(shí)現(xiàn)什么樣的操作仍翰,每個(gè)操作需要哪些數(shù)據(jù),這些都是要根據(jù)實(shí)際情況進(jìn)行考量观话,其次就是對(duì)命令的管理予借,如:創(chuàng)建、存儲(chǔ)命令频蛔,以及由誰(shuí)接收命令灵迫。 - 角色:
角色名稱 | 角色職責(zé) |
---|---|
Command(命令) | 定義命令接口 |
ConcreteCommand(具體命令) | 實(shí)現(xiàn)命令接口 |
Receiver(接受者) | Command執(zhí)行命令時(shí)被操作對(duì)象,也就是命令的接收者 |
Client(請(qǐng)求者) | 對(duì)命令進(jìn)行管理晦溪,以及分配命令接受者 |
Invoker(發(fā)動(dòng)者) | 執(zhí)行命令的角色(實(shí)際編程中瀑粥,Client和Receiver可能由同一個(gè)類實(shí)現(xiàn)) |
-
角色關(guān)系:
代碼示例:Command
以上文獻(xiàn)參考:《圖解設(shè)計(jì)模式》