真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

設(shè)計(jì)模式之命令模式-使用命令模式實(shí)現(xiàn)遙控器及總結(jié)

設(shè)計(jì)模式之命令模式-使用命令模式實(shí)現(xiàn)遙控器及總結(jié)

創(chuàng)新互聯(lián)公司服務(wù)緊隨時(shí)代發(fā)展步伐,進(jìn)行技術(shù)革新和技術(shù)進(jìn)步,經(jīng)過(guò)十余年的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設(shè)計(jì)師、專(zhuān)業(yè)的網(wǎng)站實(shí)施團(tuán)隊(duì)以及高素質(zhì)售后服務(wù)人員,并且完全形成了一套成熟的業(yè)務(wù)流程,能夠完全依照客戶(hù)要求對(duì)網(wǎng)站進(jìn)行成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、建設(shè)、維護(hù)、更新和改版,實(shí)現(xiàn)客戶(hù)網(wǎng)站對(duì)外宣傳展示的首要目的,并為客戶(hù)企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。

先來(lái)看看項(xiàng)目結(jié)構(gòu):
設(shè)計(jì)模式之命令模式-使用命令模式實(shí)現(xiàn)遙控器及總結(jié)

說(shuō)明:

1:命令接口對(duì)象

2:電燈打開(kāi)或關(guān)閉命令

3:音響打開(kāi)或關(guān)閉命令

4:音響音量增加或減少命令

來(lái)源:凱哥Java(kaigejava)

電燈開(kāi)或關(guān)代碼:

/**

  • Created by kaigejava on 2019/8/30.

  • 關(guān)燈的命令對(duì)象

*/

public class LightOffCommand implements ICommandInterface{

private LightAPI light;

public LightOffCommand(LightAPI light){

   this.light = light;

}

@Override

public void execute() {

   light.Off();

}

@Override

public void undo() {

   light.On();

}

}

增加音響音量的類(lèi):

/**

  • Created by kaigejava on 2019/8/30.

  • 給音響增加音量命令對(duì)象

*/

public class StereoAddVolCommand implements ICommandInterface{

private StereoAPI setreo;

public StereoAddVolCommand(StereoAPI stereo){

   this.setreo = stereo;

}

@Override

public void execute() {

   int vol=   setreo.GetVol();

   if(vol<11)

   {

       setreo.AddVolume(++vol);

   }

}

@Override

public void undo() {

   int vol=   setreo.GetVol();

   if(vol>0)

   {

       setreo.downVolume(--vol);

   }

}

}

命令模式總結(jié):

1:內(nèi)容

什么是命令模式?命令模式定義。參見(jiàn)上一篇

2:角色

invoker:調(diào)用者(如遙控器對(duì)象)

Command:命令接口或抽象類(lèi)(如命令案例中命令接口)

received命令具體實(shí)現(xiàn)類(lèi)(如電燈開(kāi)對(duì)象、音響音量加/減對(duì)象)

3:執(zhí)行順序

調(diào)用者-->接收者-->命令

4:使用場(chǎng)景

當(dāng)行為的請(qǐng)求者與行為的實(shí)現(xiàn)者之間需要解耦的時(shí)候(如遙控器項(xiàng)目,請(qǐng)求者是遙控器,行動(dòng)實(shí)現(xiàn)者是各個(gè)不同的家電設(shè)備),這種場(chǎng)景下可以使用

5:何時(shí)使用

在某些場(chǎng)合,比如要對(duì)行為進(jìn)行"記錄、撤銷(xiāo)/重做、事務(wù)"等處理,這種無(wú)法抵御變化的緊耦合是不合適的。在這種情況下,如何將"行為請(qǐng)求者"與"行為實(shí)現(xiàn)者"解耦?將一組行為抽象為對(duì)象,可以實(shí)現(xiàn)二者之間的松耦合。在某些場(chǎng)合,比如要對(duì)行為進(jìn)行"記錄、撤銷(xiāo)/重做、事務(wù)"等處理,這種無(wú)法抵御變化的緊耦合是不合適的。在這種情況下,如何將"行為請(qǐng)求者"與"行為實(shí)現(xiàn)者"解耦?將一組行為抽象為對(duì)象,可以實(shí)現(xiàn)二者之間的松耦合。

6:優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

1、降低了系統(tǒng)耦合度;

2、新的命令可以很容易添加到系統(tǒng)中去。

缺點(diǎn):

使用命令模式可能會(huì)導(dǎo)致某些系統(tǒng)有過(guò)多的具體命令類(lèi)。比如我們遙控器項(xiàng)目中就多了很多具體命令對(duì)象。

聯(lián)系凱哥--》凱哥Java(kaigejava)或凱哥個(gè)人博客:www.kaigejava.com 博客上私聊凱哥哦~

7:注意事項(xiàng)

系統(tǒng)需要支持命令的撤銷(xiāo)(Undo)操作和恢復(fù)(Redo)操作,也可以考慮使用命令模式


本文名稱(chēng):設(shè)計(jì)模式之命令模式-使用命令模式實(shí)現(xiàn)遙控器及總結(jié)
文章鏈接:http://weahome.cn/article/jjchjj.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部