欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

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

1.什么是命令模式

創(chuàng)新互聯(lián)主要從事網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)平度,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

命令模式(Command Pattern)是一種數(shù)據(jù)驅(qū)動(dòng)的設(shè)計(jì)模式,它屬于行為型模式。請(qǐng)求以命令的形式包裹在對(duì)象中,并傳給調(diào)用對(duì)象。調(diào)用對(duì)象尋找可以處理該命令的合適的對(duì)象,并把該命令傳給相應(yīng)的對(duì)象,最終把命令給執(zhí)行掉。

使用場(chǎng)景:認(rèn)為是命令的地方都可以使用命令模式。

2.命令模式優(yōu)缺點(diǎn)

優(yōu)點(diǎn): 1、降低了系統(tǒng)耦合度。 2、新的命令可以很容易添加到系統(tǒng)中去。

缺點(diǎn):使用命令模式可能會(huì)導(dǎo)致某些系統(tǒng)有過多的具體命令類。

3.典型案例

貨物進(jìn)出倉(cāng)庫(kù),指令員給庫(kù)方管理人員下達(dá)進(jìn)出貨物的指令,庫(kù)方管理員根據(jù)指令進(jìn)行貨物的進(jìn)出倉(cāng)庫(kù)。

4.代碼實(shí)現(xiàn)

關(guān)鍵代碼:定義三個(gè)角色:1、真正的命令執(zhí)行對(duì)象(Worker) 2、命令(Order) 3、使用命令對(duì)象的入口(Treasurer)

步驟1:創(chuàng)建命令接口(Order)

package com.yx.demo.cmd;

/**

* Order

* 指令接口

*

* @author yx

* @date 2019/11/30 20:57

*/

public interface Order {

void execute();

}

步驟2:創(chuàng)建命令最終執(zhí)行對(duì)象(Worker)。

package com.yx.demo.cmd;

/**

* 工人

*

* 真正命令的執(zhí)行對(duì)象

*

* @author yx

* @date 2019/11/30 22:06

*/

public class Worker {

private String name = "Goods A";

private int num = 5;

public void importGoods() {

System.out.println("Goods [ Name: " + name + ",num: " + num + " ] import");

}

public void exportGood() {

System.out.println("Goods [ Name: " + name + ",num: " + num + " ] export");

}

}

步驟3:創(chuàng)建Order接口實(shí)體類,一個(gè)用于進(jìn)貨,一個(gè)用于出貨。

package com.yx.demo.cmd;

/**

* ImportGoods

* 進(jìn)貨指令

*

* @author yx

* @date 2019/11/30 22:19

*/

public class ImportGoods implements Order {

private Worker mWorker;

public ImportGoods(Worker worker) {

this.mWorker = worker;

}

@Override

public void execute() {

mWorker.importGoods();

}

}

package com.yx.demo.cmd;

/**

* ExportGoods

* 出貨指令

*

* @author yx

* @date 2019/11/30 22:17

*/鄭州婦科醫(yī)院 http://www.ytsgfk120.com/

public class ExportGoods implements Order {

private Worker mWorker;

public ExportGoods(Worker worker) {

this.mWorker = worker;

}

@Override

public void execute() {

mWorker.exportGood();

}

}

步驟 4 創(chuàng)建庫(kù)房管理員類(Treasurer)。

主要處理接受指令和處理指令,供領(lǐng)導(dǎo)使用。

package com.yx.demo.cmd;

import java.util.ArrayList;

import java.util.List;

/**

* Treasurer

* 倉(cāng)庫(kù)管理員

* 使用命令對(duì)象的入口

*

* @author yx

* @date 2019/11/30 22:35

*/

public class Treasurer {

private List orderList = new ArrayList();

public void acceptOrder(Order order) {

orderList.add(order);

}

public void dealOrders() {

for (Order order : orderList) {

order.execute();

}

orderList.clear();

}

}

步驟5:demo演示,庫(kù)房管理員接受指令和處理指令

package com.yx.demo.cmd;

/**

* CommandPatternDemo

* 測(cè)試類

*

* @author yx

* @date 2019/11/30 22:41

*/

public class CommandPatternDemo {

public static void main(String[] args) {

Worker worker = new Worker();

ImportGoods importGoods = new ImportGoods(worker);

ExportGoods exportGoods = new ExportGoods(worker);

Treasurer treasurer = new Treasurer();

treasurer.acceptOrder(importGoods);

treasurer.acceptOrder(exportGoods);

treasurer.dealOrders();

}

}

示例中:進(jìn)出貨物的請(qǐng)求,封裝在ImportGoods和ExportGoods中,領(lǐng)導(dǎo)將指令需求指派給庫(kù)房管理員Treasurer處理,至于Treasurer怎么處理交給哪個(gè)工人處理,領(lǐng)導(dǎo)不關(guān)心,倉(cāng)庫(kù)管理員進(jìn)出貨物找具體的工人執(zhí)行指令。

本文標(biāo)題:Java設(shè)計(jì)模式-命令模式(CommandPattern)
文章位置:http://aaarwkj.com/article34/peesse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、ChatGPT、微信公眾號(hào)網(wǎng)站改版、域名注冊(cè)、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
久草免费人妻视频在线| 亚洲欧美极品一区色婷婷| 九九蜜桃视频香蕉视频| 亚洲精品中文字幕日本乱码| 91精品一区二区三区91人妻| 未满18周岁禁止观看视频| 日本一区二区不卡二区| 亚洲天堂中文字幕麻豆| 日韩高清在线一区二区三区| 国产av日韩精品一区二区三区| 亚洲三级伦理中文字幕| 国产黄色av网站在线| 未满十八禁止观看免费观看| 欧美日本黄色一级视频| 黄色录像免费看中文字幕| 精品伊人久久大香线蕉| 亚洲成熟中老妇女视频| 四虎影视国产精品久久| av人妻熟女少妇蒂亚| 久久精品国产亚洲七七| 一区二区三区日本在线观看| av熟妇人妻一区二区三区| 饥渴少妇高潮特殊按摩| 中文字幕乱码人妻一区二| 亚洲免费精品一区二区三区四区| 亚洲国产精品成人久久66| 一区二区三区视频在线国产| 视频久久这里只有精品| 国产av日韩精品一区二区三区| 白白色手机视频免费看| 日本免费一区二区三区手机在线| av免费观看日韩永久| av大全网站免费一区二区| 亚洲一区二区三区熟女少妇| 国产精品国产三级区| 丁香色婷婷国产精品视频| 欧美国产精品中文字幕| 亚洲综合一区国产精品| 欧美日本一区二区三区免费| 精品人妻va人妻中文字幕麻豆| 亚洲一区二区福利视频|