Java世界

          學習筆記

          常用鏈接

          統計

          積分與排名

          天籟村

          新華網

          雅虎

          最新評論

          簡單詮釋門面(Facade)模式

          ??????? 門面模式要求一個子系統的外部與其內部的通信必須通過一個統一的門面對象進行。門面模式提供了一個高層次的接口,使得子系統更易于使用。閑言少敘,下面我就將我早上離開家和晚上回到家的習慣動作抽象為符合門面模式的Java代碼。

          門面角色:

          /*
          ?*@author?我為J狂?建立日期?2007-4-30
          ?*
          ?
          */

          package ?net.blogjava.lzqdiy.facade;

          public ? class ?Life
          {
          ????
          private ?Door?door = new ?Door();

          ????
          private ?Light?light = new ?Light();

          ????
          private ?PC?pc = new ?PC();
          ????
          // 離開家
          ???? public ? void ?leaveHome()
          ????
          {
          ????????pc.turnOff();
          // 關閉電腦
          ????????light.turnOff(); // 關上燈
          ????????door.close(); // 關上門
          ????}

          ????
          // 回到家
          ???? public ? void ?goBackHome()
          ????
          {
          ????????door.open();
          // 打開門
          ????????light.turnOn(); // 打開燈
          ????????pc.turnOn(); // 啟動電腦
          ????}

          }

          子系統角色:

          /*
          ?*@author?我為J狂?建立日期?2007-4-30
          ?*
          ?
          */

          package ?net.blogjava.lzqdiy.facade;

          public ? class ?Door
          {
          ????
          private ?Key?key? = ? new ?Key();

          ????
          public ? void ?open()
          ????
          {
          ????????key.use(
          " 開門 " );
          ????????System.out.println(
          " 門已經打開! " );
          ????}


          ????
          public ? void ?close()
          ????
          {
          ????????key.use(
          " 關門 " );
          ????????System.out.println(
          " 門已經關閉! " );
          ????}

          }

          /*
          *@author?我為J狂?建立日期?2007-4-30
          *
          */

          package ?net.blogjava.lzqdiy.facade;

          public ? class ?Light
          {
          ????
          public ? void ?turnOn()
          ????
          {
          ????????System.out.println(
          " 電燈已經打開! " );
          ????}

          ????
          public ? void ?turnOff()
          ????
          {
          ????????System.out.println(
          " 電燈已經關閉! " );
          ????}

          }

          /*
          *@author?我為J狂?建立日期?2007-4-30
          *
          */

          package ?net.blogjava.lzqdiy.facade;

          public ? class ?PC
          {
          ????
          public ? void ?turnOn()
          ????
          {
          ?????????System.out.println(
          " 電腦已經打開! " );
          ????}


          ????
          public ? void ?turnOff()
          ????
          {
          ????????System.out.println(
          " 電腦已經關閉! " );
          ????}

          }

          /*
          *@author?我為J狂?建立日期?2007-4-30
          *
          */

          package ?net.blogjava.lzqdiy.facade;

          public ? class ?Key
          {
          ???
          public ? void ?use(String?action)
          ???
          {
          ???????System.out.println(
          " 使用鑰匙 " + action + " ! " );
          ???}

          }

          客戶端:

          /*
          *@author?我為J狂?建立日期?2007-4-30
          *
          */

          package ?net.blogjava.lzqdiy.facade;

          public ? class ?Client
          {

          ????
          private ? static ?Life?life = new ?Life();
          ????
          public ? static ? void ?main(String[]?args)
          ????
          {
          ???????System.out.println(
          " 一天忙碌的生活開始了. " );
          ???????life.leaveHome();
          ???????System.out.println(
          " 呵呵,回家了. " );
          ???????life.goBackHome();
          ????}

          }



          祝,大家享受其中的快樂!

          posted on 2008-02-28 15:37 Rabbit 閱讀(220) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 稻城县| 兴海县| 嘉兴市| 陇川县| 洞口县| 额尔古纳市| 吴堡县| 龙海市| 合作市| 阳城县| 安多县| 界首市| 菏泽市| 礼泉县| 乌拉特前旗| 罗田县| 景洪市| 广安市| 皋兰县| 蒲城县| 英德市| 全州县| 乐平市| 云安县| 伊川县| 乡宁县| 石泉县| 海丰县| 乐平市| 扶余县| 织金县| 吴江市| 石阡县| 平顺县| 蓬溪县| 邯郸市| 吴川市| 什邡市| 台北市| 和顺县| 方城县|