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

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

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

    魚躍于淵

    First know how, Second know why !
    posts - 0, comments - 1, trackbacks - 0, articles - 49

    工廠模式

    Posted on 2008-12-20 19:29 魚躍于淵 閱讀(187) 評論(0)  編輯  收藏 所屬分類: 設計模式
    工廠方法模式和簡單工廠模式在結構上的不同是很明顯的。工廠方法模式的核心是一個抽象工廠類,而簡單工廠模式把核心放在一個具體類上。工廠方法模式可以允許很多具體工廠類從抽象工廠類中將創建行為繼承下來,從而可以成為多個簡單工廠模式的綜合,進而推廣了簡單工廠模式。

    下面看例子代碼:
    此模式涉及到抽象工廠角色(汽車廠),具體工廠角色(具體的汽車車間),抽象產品角色(汽車)以及具體產品角色(私車,公交巴士)。
     1package com.givetop.Factory;
     2
     3
     4
     5public class Factory1 {
     6    public static void main(String[] args){
     7        Car_Factory cf = new Car_Factory();
     8        Car car = cf.getCar("Benz");
     9        car.run();
    10        car.stop();
    11        System.out.println("------------------------------------------------------------------------");
    12        Bus_Factory bf = new Bus_Factory();
    13        bf.getCar("Big_Bus").run();
    14        bf.getCar("Big_Bus").stop();
    15        System.out.println("------------------------------------------------------------------------");
    16        bf.getCar("Ford").run();
    17        bf.getCar("Ford").stop();
    18    }

    19}

    20
    21interface Car{
    22    public void run();
    23    public void stop();
    24}

    25
    26interface Factory{
    27    
    28}

    29
    30class Car_Factory implements Factory{
    31    public Car getCar(String type){
    32        Car c = null ;
    33        try {
    34            c = (Car)Class.forName("com.givetop.Factory."+type).newInstance();
    35        }
     catch (InstantiationException e) {
    36            e.printStackTrace();
    37        }
     catch (IllegalAccessException e) {
    38            e.printStackTrace();
    39        }
     catch (ClassNotFoundException e) {
    40            e.printStackTrace();
    41        }

    42        return c;
    43    }

    44}

    45
    46class Bus_Factory implements Factory{
    47    public Car getCar(String type){
    48        Car c = null ;
    49        try {
    50            c = (Car)Class.forName("com.givetop.Factory."+type).newInstance();
    51        }
     catch (InstantiationException e) {
    52            e.printStackTrace();
    53        }
     catch (IllegalAccessException e) {
    54            e.printStackTrace();
    55        }
     catch (ClassNotFoundException e) {
    56            e.printStackTrace();
    57        }

    58        return c;
    59    }

    60}

    61
    62class Ford implements Car{
    63    public void run(){
    64        System.out.println("Ford開始啟動了!");
    65    }

    66    public void stop(){
    67        System.out.println("Ford停止了!");
    68    }

    69}

    70
    71class Benz implements Car{
    72    public void run(){
    73        System.out.println("Benz開始啟動了!");
    74    }

    75    public void stop(){
    76        System.out.println("Benz停止了!");
    77    }

    78}

    79
    80class Big_Bus implements Car{
    81    public void run(){
    82        System.out.println("Big_Bus開始啟動了!");
    83    }

    84    public void stop(){
    85        System.out.println("Big_Bus停止了!");
    86    }

    87}

    88
    89class Mini_Bus implements Car{
    90    public void run(){
    91        System.out.println("Mini_Bus開始啟動了!");
    92    }

    93    public void stop(){
    94        System.out.println("Mini_Bus停止了!");
    95    }

    96}

    不過我有點納悶, Bus_Factory也能制造小汽車   , 可見這個還設計的不太完善,我想應該在Car 這個接口里應該分別有小汽車和Bus 的抽象類或接口才對!

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


    網站導航:
     
    主站蜘蛛池模板: 国产在线观看免费不卡| 女人18毛片水最多免费观看| 亚洲综合精品网站| 一级做a爰片久久毛片免费陪| 国产成人高清精品免费软件| 色综合久久精品亚洲国产| 日韩在线看片免费人成视频播放| 亚洲av最新在线观看网址| 国产hs免费高清在线观看| 免费大片黄在线观看| 亚洲午夜精品久久久久久浪潮| 一日本道a高清免费播放| 国产亚洲精品无码拍拍拍色欲| 久久久久久毛片免费看| 亚洲成av人在线视| 13一14周岁毛片免费| 亚洲日韩在线视频| 日本特黄特色aa大片免费| 日韩精品视频在线观看免费| 亚洲精品无码成人AAA片| 一区二区三区观看免费中文视频在线播放| 亚洲最大成人网色| 免费看韩国黄a片在线观看| 亚洲Av无码国产一区二区| 国产精品亚洲美女久久久 | 亚洲精品乱码久久久久久蜜桃不卡| 黄色网页在线免费观看| 亚洲第一成年男人的天堂| 97性无码区免费| 国产99久久亚洲综合精品| 亚洲精品成人片在线观看精品字幕| 99爱视频99爱在线观看免费| 亚洲日韩av无码中文| 久久久亚洲精品蜜桃臀| 59pao成国产成视频永久免费| 亚洲精品无码中文久久字幕| 亚洲综合另类小说色区色噜噜| 足恋玩丝袜脚视频免费网站| 疯狂做受xxxx高潮视频免费| 久久久久久亚洲AV无码专区| 国产又大又粗又硬又长免费|