用我的實習生活詮釋門面(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();
              }

          }

          在北京中關村實習期間,我的生活就是這樣的,呵呵。注:程序中的電腦是指我家里的notebook,用于娛樂。

          posted on 2007-04-30 15:11 我為J狂 閱讀(1141) 評論(0)  編輯  收藏 所屬分類: 設計模式

          <2007年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(11)

          隨筆分類(48)

          文章分類(29)

          常去逛逛

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 黄骅市| 祁阳县| 色达县| 通州市| 甘南县| 天祝| 东乌| 平阳县| 西丰县| 台中市| 商都县| 广西| 广河县| 丰宁| 马关县| 临清市| 双流县| 集贤县| 镇远县| 朝阳市| 拉萨市| 安新县| 南部县| 乐东| 阿尔山市| 封开县| 台南市| 武川县| 唐河县| 开远市| 蒙自县| 乃东县| 关岭| 天气| 阿克苏市| 南和县| 衡水市| 大同市| 无极县| 海原县| 灵山县|