设计模式笔记-命令模式
命令模式
最近在重新看設計模式,看了《Head First設計模式(中文版)》中的命令模式,跟上次剛入職看的感覺有點不一樣,還是記錄一下,便于以后查閱。
作用:將 動作的請求者 和 動作的執(zhí)行者 解耦。
書中例子:場景,有很多電器都有開、關的方法;問題:如果遙控器和電器不解耦,遙控器會和電器有很多代碼(例如if else),新增電器就要改代碼。
?要將 遙控器 和 電器 解耦,把電器的開和關都放在命令里,遙控器不需要知道電器是怎么執(zhí)行的,只需要調用命令就可以執(zhí)行電器的方法,達到開或者關的需求。
設計對象:
1.實現(xiàn) ?command 接口 ?的 N個具體命令 ,將命令的動作和電器(接收者)綁在一起,分別控制各個電器(接收者)的開關,?
2.根據(jù)客戶(使用者)需求設置好 遙控器(調用者) 上每個按鈕的命令
2.遙控器(調用者)按下按鈕,調用命令上的執(zhí)行方法,從而達到控制具體的電器開關
代碼實現(xiàn):
command 接口:
燈對象:
?
操作開燈命令對象:
遙控器(調用者)對象:
?客戶(請求者):
總結:接收者注入在 相對應命令對象 里,調用者通過 調用命令 操作執(zhí)行者 ,可以達到請求者和 執(zhí)行者的 解耦。
?
轉載于:https://www.cnblogs.com/wangchuanjie/p/8184289.html
總結
以上是生活随笔為你收集整理的设计模式笔记-命令模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: thuinkphp5 input('po
- 下一篇: Asp.Net Mvc表单提交之List