<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    數(shù)據(jù)加載中……
    設(shè)計(jì)模式之Command——電視篇

    大家都知道電視遙控器節(jié)目面板(ProgramPan)是由節(jié)目按鈕組成,通過(guò)選擇相應(yīng)的節(jié)目按鈕,就可以切換到相應(yīng)的節(jié)目屏道。

    下來(lái)讓我們看看如何實(shí)現(xiàn)通過(guò)遙控器按鈕選擇節(jié)目屏道的過(guò)程吧。

     

    1、在這里,先定義遙控器按鈕(RemoteControlButton)接口:

    public interface RemoteControlButton {

      public abstract void  selectProgram(); //選擇節(jié)目屏道

    }

    2、再定義遙控器按鈕(RemoteControlButton)接口的實(shí)現(xiàn)類:

    A:卡通節(jié)目按鈕(CartonProgramButton)類:

    public class CartonProgramButton implements RemoteControlButton{

      public void selectProgram() {

        System.out.println("選擇了卡通屏道!");

      }

    }

    B:電視劇節(jié)目按鈕(TvPlanProgramButton)類:

    public class TvPlanProgramButton implements RemoteControlButton {

      public void selectProgram() {

        System.out.println("選擇了電視劇屏道!");

      }

    }

    C:足球節(jié)目按鈕(FootProgramButton)類:

    public class FootProgramButton implements RemoteControlButton {

      public void selectProgram() {

        System.out.println("選擇了足球屏道!");

      }

    }

    3、遙控器節(jié)目面板(ProgramPan)類:用來(lái)控制節(jié)目按鈕,顯示節(jié)目

    public class ProgramPan {

      public static List programList() {

        List list = new ArrayList();  //節(jié)目屏道按鈕列表

        list.add(new CartonProgramButton()); //卡通屏道按鈕

        list.add(new TvPlanProgramButton()); //電視劇屏道按鈕

        list.add(new FootProgramButton());   //足球屏道按鈕

        return list;

      }

    }

    4、編寫(xiě)測(cè)試類:

    public class TestCommand {

      public static void main(String[] args) {

        List list = ProgramPan.programList();  //獲得節(jié)目屏道按鈕

        for (Iterator it = list.iterator();it.hasNext();)

          ( (RemoteControlButton) it.next()).selectProgram();  //選擇節(jié)目屏道中對(duì)應(yīng)的節(jié)目

      }

    }

    5、說(shuō)明:

    ACommand說(shuō)白了就是通過(guò)選擇一個(gè)個(gè)命令,然后執(zhí)行相應(yīng)動(dòng)作。

    BCommand是對(duì)行為進(jìn)行封裝的典型模式,在本例中通過(guò)遙控器節(jié)目面板(ProgramPan)這個(gè)封裝類來(lái)實(shí)現(xiàn)我們看電視節(jié)目的目的。

    CCommand模式和Facade(外觀)模式似乎比較相似。都是通過(guò)封裝類來(lái)進(jìn)行訪問(wèn)的。如何區(qū)分,對(duì)這點(diǎn)我也比較疑惑。

    posted on 2008-02-27 09:21 java flex 結(jié)合 閱讀(705) 評(píng)論(0)  編輯  收藏 所屬分類: pattern


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 日韩电影免费在线观看中文字幕| 曰曰鲁夜夜免费播放视频| 亚洲AV无码一区二区乱孑伦AS | 最新国产乱人伦偷精品免费网站| 亚洲黄网在线观看| 日韩精品视频免费在线观看| 91在线视频免费观看| 亚洲国产最大av| 亚洲综合伊人久久大杳蕉| 91免费精品国自产拍在线不卡| 美女露100%胸无遮挡免费观看| 亚洲日本va午夜中文字幕一区| 国产成人精品男人免费| 最近中文字幕免费完整| 粉色视频免费入口| 亚洲成年人电影在线观看| 亚洲精品高清一二区久久| 国产免费av片在线看| 任你躁在线精品免费| 丰满亚洲大尺度无码无码专线| 亚洲最大成人网色| 亚洲区日韩区无码区| 午夜神器成在线人成在线人免费| 精品在线免费观看| 一级毛片人与动免费观看| 亚洲av午夜精品无码专区| 久久91亚洲精品中文字幕| 亚洲国产精品尤物YW在线观看| 中国在线观看免费高清完整版| 十八禁在线观看视频播放免费| 猫咪免费人成在线网站| 亚洲一线产区二线产区区| 伊人久久综在合线亚洲2019| 久久亚洲国产欧洲精品一| 亚洲国产精品碰碰| 韩国日本好看电影免费看| 亚洲精品动漫免费二区| 69视频免费在线观看| 国产精品免费福利久久| 国产A∨免费精品视频| 日韩成人精品日本亚洲|