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

命令模式是一種非常優(yōu)美的設(shè)計(jì)模式,命令定義了命令接收者的一系列操作,當(dāng)司令官發(fā)出命令的時(shí)候,命令接收者負(fù)責(zé)執(zhí)行,在這個(gè)過(guò)程中,司令官只負(fù)責(zé)執(zhí)行命令,至于命令的執(zhí)行情況通過(guò)返回值來(lái)控制,對(duì)命令的執(zhí)行過(guò)程是完全透明的。

1、定義命令接收者,命令接收者需要能夠?qū)崿F(xiàn)一些列的操作,這些操作與命令無(wú)關(guān),只是命令接收者的行為,也就是說(shuō),如果命令接收者只會(huì)吃飯睡覺(jué),你讓他打代碼他也干不來(lái)

2、命令接口,生成新的命令只需要實(shí)現(xiàn)這個(gè)接口,并且重寫(xiě)里面的方法

3、定義命令,命令一般為完成指定工作的一系列邏輯,因此才具有封裝成命令的價(jià)值,好比如把一個(gè)菜譜封裝成一個(gè)命令

4、司令官只負(fù)責(zé)發(fā)出相應(yīng)的命令,換言之就是讓他來(lái)實(shí)例化指定的命令

運(yùn)行代碼就會(huì)看到輸出相應(yīng)的結(jié)果了

這種設(shè)計(jì)模式的優(yōu)點(diǎn)就是我們可以把一系列的操作定義成一個(gè)命令,但是這個(gè)時(shí)候我們可能會(huì)有一個(gè)疑問(wèn)就是,覺(jué)得這種做法更加的麻煩,我們很多時(shí)候都會(huì)直接封裝一個(gè)方法,然后在方法里面放一系列的操作,比如做一道菜的邏輯。這就是為什么我們需要學(xué)習(xí)設(shè)計(jì)模式的原因,很多時(shí)候我們?nèi)绻覀冎皇菫榱藢?shí)現(xiàn)一個(gè)可行的業(yè)務(wù)邏輯,這跟設(shè)計(jì)模式是毫無(wú)關(guān)系的,我們學(xué)習(xí)設(shè)計(jì)模式是為了設(shè)計(jì)項(xiàng)目的架構(gòu),而不僅僅是為了實(shí)現(xiàn)功能邏輯

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容