国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

設(shè)計(jì)模式:命令模式

2021-08-06 08:01 作者:做架構(gòu)師不做框架師  | 我要投稿

什么是命令模式?

命令模式(Command Pattern),他嘗試以對(duì)象來(lái)代表實(shí)際行動(dòng)。命令對(duì)象可以把行動(dòng)(Action)及其參數(shù)封裝起來(lái),于是這些行動(dòng)可以被:

1、重復(fù)多次

2、取消(如果改對(duì)象有實(shí)現(xiàn)的話)

3、取消后再重做

一句話歸納

運(yùn)籌帷幄之中,決勝千里之外

代碼示例

周末休息時(shí),我們平時(shí)都會(huì)叫一些朋友好友一起去下館子,假如我們現(xiàn)在去的這家餐館里面各大菜系都有,都特別正宗,比如什么火鍋、小燒烤、西餐、云南菜、東北菜等等。首先服務(wù)生會(huì)給我們一個(gè)菜單,然后我們進(jìn)行點(diǎn)菜,點(diǎn)完之后,服務(wù)生會(huì)拿著菜單給后廚(這里假定每一種菜系都有一個(gè)廚子),掌勺的大廚做出菜,服務(wù)生端出來(lái),我們就大快朵頤。


適用性

以下場(chǎng)景我建議你考慮使用

  • 只要你認(rèn)為是命令的都可以使用,比如GUI中每一個(gè)按鈕都是命令、遙控器、模擬DOS命令。

  • 調(diào)用者需要與接收者解耦時(shí),命令模式可以使調(diào)用者和接收者不直接交互。

  • 當(dāng)系統(tǒng)需要支持命令的撤銷操作和恢復(fù)操作時(shí),可以將命令對(duì)象存儲(chǔ)起來(lái),采用備忘錄模式來(lái)實(shí)現(xiàn)。

局限性

以下場(chǎng)景我建議你慎重使用

  • 很明顯,會(huì)產(chǎn)生大量的命令實(shí)現(xiàn)類,比如遙控器上1-9個(gè)臺(tái)這就9個(gè)命令實(shí)現(xiàn)類,還有那么多按鈕。

  • 命令模式的結(jié)果其實(shí)就是接收方的執(zhí)行結(jié)果,但是為了以命令的形式進(jìn)行架構(gòu)、解耦請(qǐng)求與實(shí)現(xiàn),引入了額外類型結(jié)構(gòu)(引入了請(qǐng)求方與抽象命令接口),增加了理解上的困難。不過(guò)這也是設(shè)計(jì)模式的通病,抽象必然會(huì)額外增加類的數(shù)量,代碼抽離肯定比代碼聚合更加難理解。

寫(xiě)在最后

好兄弟可以點(diǎn)贊并關(guān)注我的公眾號(hào)“javaAnswer”,全部都是干貨。


設(shè)計(jì)模式:命令模式的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
德清县| 通海县| 东至县| 惠来县| 封开县| 禹州市| 辽宁省| 河东区| 萨迦县| 额济纳旗| 朔州市| 台州市| 石柱| 新田县| 开鲁县| 若尔盖县| 苍南县| 杭锦后旗| 定安县| 凌海市| 剑阁县| 阿尔山市| 吴江市| 玉溪市| 志丹县| 朝阳县| 瓮安县| 建昌县| 扎兰屯市| 朔州市| 香港 | 莱西市| 大连市| 饶河县| 梁平县| 木里| 霍州市| 荥阳市| 来宾市| 庆城县| 西青区|