最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

輕松掌握J(rèn)ava命令模式

 更新時(shí)間:2016年09月29日 11:36:08   作者:斷了聯(lián)系  
這篇文章主要幫助大家輕松掌握J(rèn)ava命令模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

定義:請求以命令的形式包裹在對象中,并傳給調(diào)用對象。調(diào)用對象尋找可以處理該命令的合適的對象,并把該命令傳給相應(yīng)的對象,該對象執(zhí)行命令。

特點(diǎn):

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

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

企業(yè)級(jí)開發(fā)和常用框架中的應(yīng)用:事務(wù),struts的action控制器

實(shí)例:

public class Demo {

 public static void main(String[] args) {
 Reicever reicever = new Reicever();
 Command command = new ActualCommand(reicever);
 Invoker invoker = new Invoker();
 invoker.addCommand(command);
 invoker.call();
 }
}

/**
 * 命令真正的執(zhí)行者,對于不同的命令可能有不同的命令執(zhí)行者 
 */
class Reicever{
 public void action(){
 System.out.println("Reicever.action()");
 }
}

/**
 * 命令接口,也為了后面統(tǒng)一后面的命令 
 */
interface Command{
 public void excute();
}
/**
 * 實(shí)際命令對象,可能有很多不同的命令對象 
 */
class ActualCommand implements Command{
 private Reicever reicever;
 public ActualCommand(Reicever reicever) {
 this.reicever = reicever;
 }
 public void excute() {
 reicever.action();
 }
}
/**
 * 命令發(fā)出者 
 */
class Invoker{
 private List<Command> commands = new ArrayList<>();
 
 public void addCommand(Command command){
 commands.add(command);
 }
 
 public void call(){
 for(Command c:commands){
 c.excute();
 }
 }
 
}

命令模式單獨(dú)是用的情況很少,一般都是和備忘錄模式組合是用。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Web項(xiàng)目spring配置文件隨服務(wù)器啟動(dòng)時(shí)自動(dòng)加載

    Spring Web項(xiàng)目spring配置文件隨服務(wù)器啟動(dòng)時(shí)自動(dòng)加載

    這篇文章主要介紹了Spring Web項(xiàng)目spring配置文件隨服務(wù)器啟動(dòng)時(shí)自動(dòng)加載,加載spring的配置文件,并且只加載一次,從而提高程序效率。具體內(nèi)容詳情大家通過本文一起學(xué)習(xí)吧
    2018-01-01
  • 基于Java實(shí)現(xiàn)簡單貪吃蛇游戲

    基于Java實(shí)現(xiàn)簡單貪吃蛇游戲

    這篇文章主要為大家詳細(xì)介紹了基于Java實(shí)現(xiàn)簡單貪吃蛇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • openFeign服務(wù)之間調(diào)用保持請求頭信息處理方式

    openFeign服務(wù)之間調(diào)用保持請求頭信息處理方式

    這篇文章主要介紹了openFeign服務(wù)之間調(diào)用保持請求頭信息處理方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java方法的可變參數(shù)類型實(shí)例分析

    Java方法的可變參數(shù)類型實(shí)例分析

    這篇文章主要介紹了Java方法的可變參數(shù)類型,通過實(shí)例對Java中的可變參數(shù)類型進(jìn)行了較為深入的分析,需要的朋友可以參考下
    2014-09-09
  • MyBatis生成UUID的實(shí)現(xiàn)

    MyBatis生成UUID的實(shí)現(xiàn)

    這篇文章主要介紹了MyBatis生成UUID的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 理解Java訪問權(quán)限控制

    理解Java訪問權(quán)限控制

    這篇文章主要幫助大家深入的理解Java訪問權(quán)限控制,為何需要訪問控制權(quán)限,本文給出了解釋,感興趣的小伙伴們可以參考一下
    2016-02-02
  • SpringBoot項(xiàng)目中只執(zhí)行一次的任務(wù)寫法實(shí)現(xiàn)

    SpringBoot項(xiàng)目中只執(zhí)行一次的任務(wù)寫法實(shí)現(xiàn)

    有時(shí)候我們需要進(jìn)行初始化工作,就說明只要進(jìn)行一次的工作,本文主要介紹了SpringBoot項(xiàng)目中只執(zhí)行一次的任務(wù)寫法實(shí)現(xiàn),感興趣的可以了解一下
    2023-12-12
  • 淺析JAVA 循環(huán)結(jié)構(gòu)

    淺析JAVA 循環(huán)結(jié)構(gòu)

    這篇文章主要介紹了JAVA 循環(huán)結(jié)構(gòu)的相關(guān)資料,文中講解的非常細(xì)致,示例代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • java實(shí)現(xiàn)順時(shí)針打印矩陣

    java實(shí)現(xiàn)順時(shí)針打印矩陣

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)順時(shí)針打印矩陣的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Java中StringTokenizer的用法簡介匯總

    Java中StringTokenizer的用法簡介匯總

    StringTokenizer?是出于兼容性的原因而被保留的遺留類(雖然在新代碼中并不鼓勵(lì)使用它),建議所有尋求此功能的人使用?String?的?split?方法或?java.util.regex?包,本文給大家整理了Java?StringTokenizer用法,感興趣的朋友一起看看吧
    2022-07-07

最新評論

镇江市| 汉中市| 木兰县| 东辽县| 东辽县| 简阳市| 繁昌县| 繁昌县| 堆龙德庆县| 太白县| 大厂| 静乐县| 万山特区| 太白县| 乌兰察布市| 玉环县| 旬邑县| 濉溪县| 平南县| 芜湖县| 庆安县| 凤凰县| 黎平县| 甘洛县| 盐池县| 休宁县| 嘉善县| 郎溪县| 神农架林区| 广汉市| 皋兰县| 习水县| 金门县| 东乌珠穆沁旗| 临澧县| 台湾省| 旌德县| 镇巴县| 深圳市| 通州区| 大姚县|