<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 魚躍于淵 閱讀(182) 評論(0)  編輯  收藏 所屬分類: 設(shè)計模式
    工廠方法模式和簡單工廠模式在結(jié)構(gòu)上的不同是很明顯的。工廠方法模式的核心是一個抽象工廠類,而簡單工廠模式把核心放在一個具體類上。工廠方法模式可以允許很多具體工廠類從抽象工廠類中將創(chuàng)建行為繼承下來,從而可以成為多個簡單工廠模式的綜合,進(jìn)而推廣了簡單工廠模式。

    下面看例子代碼:
    此模式涉及到抽象工廠角色(汽車廠),具體工廠角色(具體的汽車車間),抽象產(chǎn)品角色(汽車)以及具體產(chǎn)品角色(私車,公交巴士)。
     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也能制造小汽車   , 可見這個還設(shè)計的不太完善,我想應(yīng)該在Car 這個接口里應(yīng)該分別有小汽車和Bus 的抽象類或接口才對!

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久久久国产精品免费看| 思思久久99热免费精品6| 99久久国产免费中文无字幕 | 成人免费视频国产| 亚洲日日做天天做日日谢| 久草视频免费在线观看| 亚洲欧洲日产v特级毛片| 午夜福利不卡片在线播放免费| 亚洲国产成人精品久久| 最近最新中文字幕完整版免费高清| 77777亚洲午夜久久多喷| 毛片a级毛片免费播放下载| 亚洲精品自偷自拍无码| 四虎国产精品免费久久影院| 一本到卡二卡三卡免费高| 亚洲日产无码中文字幕| 午夜视频免费在线观看| 亚洲伊人久久大香线蕉结合| 午夜视频在线观看免费完整版| 国产成人不卡亚洲精品91| 中文字幕不卡亚洲| 99久久免费观看| 亚洲ts人妖网站| 亚洲av成人一区二区三区在线观看 | 中文字幕免费不卡二区| 亚洲精品**中文毛片| 日韩中文字幕免费| A国产一区二区免费入口| 亚洲美女视频一区| 国产亚洲精品免费| 久章草在线精品视频免费观看 | 亚洲av无码专区在线电影天堂 | 亚洲日韩中文字幕天堂不卡| 日韩免费视频在线观看| 久久精品视频免费| 亚洲一区二区三区国产精华液| 伊人婷婷综合缴情亚洲五月| 我们的2018在线观看免费高清| 麻豆va在线精品免费播放| 亚洲三级电影网址| 免费一级毛片不卡在线播放|