監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉

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

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

  考慮這樣一個(gè)需求:某個(gè)方法需要完成一個(gè)功能,完成這個(gè)功能的大部分步驟已經(jīng)確定下來(lái)了,但是有少量步驟的具體實(shí)施目前無(wú)法確定下來(lái),必須要等到執(zhí)行該方法時(shí)才可以確定。這個(gè)方法不僅要求參數(shù)可變,甚至要求方法執(zhí)行體中的代碼可變。對(duì)于這樣的要求,我們必須把方法體的處理行為作為參數(shù)傳進(jìn)該方法,而處理行為用編程序來(lái)實(shí)現(xiàn)就是一段代碼塊。這種需求在設(shè)計(jì)模式中就叫做“命令模式”,在Swing和GWT之中有廣泛的使用(例如:事件處理使用的匿名內(nèi)部類)。下面就是一個(gè)命令設(shè)計(jì)模式的實(shí)現(xiàn)例子:

1.

package com.lanp.command;

/**
 * 處理數(shù)據(jù)數(shù)據(jù)項(xiàng)的借口
 * @author LanP
 * @version V1.0
 */
public interface MyCommand {

 void process(int[] target);

}

 

2.

package com.lanp.command;

/**
 * 處理數(shù)據(jù)數(shù)據(jù)內(nèi)容的處理類
 * @author LanP
 * @version V1.0
 */
public class DoArray {
 public void doArrayItems(int[] target,MyCommand myCmd) {
  myCmd.process(target);
 }
}

 

3.

package com.lanp.command;

/**
 * 用于測(cè)試命令模式的類
 * @author LanP
 * @version V1.0
 */
public class TestMyCommand {

 public static void main(String[] args) {
  DoArray doArray = new DoArray();
  int[] target = {1,-50,78,-2,9,88,520};
  //第一次對(duì)數(shù)組進(jìn)行處理,具體怎么樣處理取決于MyCommand對(duì)象
  System.out.println("----第一次對(duì)數(shù)組進(jìn)行處理----");
  doArray.doArrayItems(target, new MyCommand() {

   @Override
   public void process(int[] target) {
    //遍歷輸出數(shù)據(jù)元素
    System.out.print("數(shù)組中的元素有: ");
    for(int temp : target) {
     System.out.print(temp + " ");
    }
    System.out.println();
   }
   
  });
  
  //第二次對(duì)數(shù)組進(jìn)行處理,具體怎么樣處理取決于MyCommand對(duì)象
  System.out.println("----第二次對(duì)數(shù)組進(jìn)行處理----");
  doArray.doArrayItems(target, new MyCommand() {
   //計(jì)算數(shù)組元素中的和
   @Override
   public void process(int[] target) {
    int sum = 0;
    for(int temp  : target) {
     sum = sum + temp;
    }
    System.out.println("數(shù)組中的和為: " + sum);
   }
   
  });
 }

}




網(wǎng)站提醒和聲明

本文內(nèi)容來(lái)自自互聯(lián)網(wǎng)公開(kāi)信息或用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人,版權(quán)歸原作者所有。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。若發(fā)現(xiàn)侵權(quán)或違規(guī)內(nèi)容請(qǐng)聯(lián)系電話4008352114或郵箱442699841@qq.com,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

發(fā)布:2026-01-18 16:38    編輯:xiaona    [打印此頁(yè)]    [關(guān)閉]

泛普入庫(kù)出庫(kù)管理軟件其他應(yīng)用

藥品進(jìn)銷存管理系統(tǒng) 醫(yī)藥進(jìn)銷存 超市進(jìn)銷存管理系統(tǒng) 服裝進(jìn)銷存軟件 倉(cāng)庫(kù)進(jìn)銷存管理軟件 進(jìn)銷存財(cái)務(wù)軟件 傻瓜進(jìn)銷存 萬(wàn)能進(jìn)銷存軟件 進(jìn)銷存網(wǎng)絡(luò)版 進(jìn)銷存管理系統(tǒng) 進(jìn)銷存系統(tǒng) 服裝庫(kù)存管理軟件 條碼倉(cāng)庫(kù)管理軟件 庫(kù)存管理軟件 倉(cāng)庫(kù)管理軟件 庫(kù)房管理軟件 出入庫(kù)管理軟件 倉(cāng)儲(chǔ)管理系統(tǒng) 倉(cāng)庫(kù)管理系統(tǒng) 庫(kù)存管理系統(tǒng) 入庫(kù)出庫(kù)管理軟件 進(jìn)銷存軟件排名 倉(cāng)庫(kù)管理軟件哪個(gè)好