多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > 三,工廠模式——抽象工廠模式

三,工廠模式——抽象工廠模式

來源:程序員人生   發(fā)布時間:2016-10-12 09:15:32 閱讀次數(shù):2813次

1 抽象工廠模式

抽象工廠模式是所有形態(tài)的工廠模式中最為抽象和最具有1般性的1種形態(tài)。該模式面對的是多個產(chǎn)品等級結(jié)構(gòu)的系統(tǒng)設(shè)計(jì)。工廠方法模式針對的是1個產(chǎn)品等級結(jié)構(gòu);而抽象工廠模式則需要面對多個產(chǎn)品等級結(jié)構(gòu)。

1個產(chǎn)品等級結(jié)構(gòu)圖

多個產(chǎn)品等級結(jié)構(gòu)圖

1.2 產(chǎn)品族

產(chǎn)品族是指位于不同產(chǎn)品等級結(jié)構(gòu)中,功能相干聯(lián)的產(chǎn)品組成的家族。

用相圖的情勢表現(xiàn)生產(chǎn)品族與產(chǎn)品等級結(jié)構(gòu)的關(guān)系

在抽象工廠模式中,每個產(chǎn)品族都有1個具體工廠,而每個具體工廠負(fù)責(zé)創(chuàng)建屬于同1個產(chǎn)品族,但是分屬于不同等級結(jié)構(gòu)的產(chǎn)品。

1.3 抽象工廠觸及到的角色

  • 抽象工廠角色
  • 具體工廠類角色
  • 抽象產(chǎn)品角色
  • 具體產(chǎn)品角色

2 甚么情況下使用抽象工廠模式

  • 1個系統(tǒng)中不應(yīng)當(dāng)依賴于產(chǎn)品類實(shí)例如何被創(chuàng)建,組合和表達(dá)的細(xì)節(jié),這對所有形態(tài)的工廠模式都是重要的。
  • 這個系統(tǒng)的產(chǎn)品有多于1個的產(chǎn)品族,而系統(tǒng)只消費(fèi)其中某1族的產(chǎn)品。
  • 同屬于同1個產(chǎn)品族的產(chǎn)品是在1起使用的。
  • 系統(tǒng)提供1個產(chǎn)品類的庫,所有的產(chǎn)品以一樣的接口出現(xiàn),從而使客戶端不依賴于實(shí)現(xiàn)。

3 抽象工廠的實(shí)現(xiàn)

農(nóng)場公司要引進(jìn)塑料大棚的技術(shù),在大棚里種植熱帶和亞熱帶的水果和蔬菜。在這里水果和蔬菜就是兩個等級結(jié)構(gòu),而熱帶的水果和熱帶的蔬菜是1個產(chǎn)品族,亞熱帶的水果和亞熱帶的蔬菜又是1個產(chǎn)品族。

用類圖表示為

部份代碼實(shí)現(xiàn)

package com.designpattern.abstractfactory;

/**
 * Created by Administrator on 2016/9/19.
 */
public interface Fruits {
    String getName();
    void setName(String name);
}
package com.designpattern.abstractfactory;

/**
 * Created by Administrator on 2016/9/19.
 */
public interface Vegetables {
    String getName();
    void setName(String name);
}
package com.designpattern.abstractfactory;

/**
 * Created by Administrator on 2016/9/19.
 */
public class SubtropicalFruit implements Fruits{
    private String name;

    SubtropicalFruit(String name){
        this.name = name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}
package com.designpattern.abstractfactory;

/**
 * Created by Administrator on 2016/9/19.
 */
public class SubtropicalVegetable implements Vegetables{
    private String name;

    SubtropicalVegetable(String name){
        this.name = name;
    }

    @Override
    public String getName() {
        return null;
    }

    @Override
    public void setName(String name) {
        this.name = name;
    }
}
package com.designpattern.abstractfactory;

/**
 * Created by Administrator on 2016/9/19.
 */
public class SubtropicalFactory implements IFatory{
    public static Fruits createFruit(String name){
        return new SubtropicalFruit(name);
    }

    public static Vegetables createVegetable(String name){
        return new SubtropicalVegetable(name);
    }
}
package com.designpattern.abstractfactory;

/**
 * Created by Administrator on 2016/9/19.
 */
public class Client {
    public static void main(String args[]){
        Fruits fruit = SubtropicalFactory.createFruit("香蕉");

        System.out.println(fruit.getName());
    }
}
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 在线播放一区二区三区 | 亚洲精品成人a | 欧美一区二区手机在线观看视频 | 国产成人久久综合二区 | 手机在线亚洲 | 亚洲综合色自拍一区 | 伊人影院综合 | 欧美日韩无线在码不卡一区二区三区 | 国产理论视频在线观看 | 久久国产精品免费 | 欧美精品18videosex巨大 | 午夜免费视频观看在线播放 | 最近的最新的中文字幕视频 | 亚洲免费黄色片 | 欧美异族性hdsex在线播放 | 亚洲成a人片在线v观看 | 亚洲欧美小视频 | 综合九九| 小毛片网站| 男女免费观看在线爽爽爽视频 | 在线观看视频高清视频 | 国产色a在线观看 | 亚洲精品专区一区二区欧美 | 性欧美video| 免费羞羞| 动漫美女口工h福利动画网站 | 一本毛片 | 欧美日韩国产一区二区三区 | 国产极品美乳尤物在线观看 | 操人网站 | jizz日本zzz老师水多视频 | 中文无码日韩欧免费视频 | www久久爱 | 肉体肉体xxxx肉体d | 最近免费中文字幕大全高清10 | 国产乱辈通伦影片在线播放亚洲 | 俺来也俺去啦久久综合网 | 性欧美另类 | 亚欧在线观看 | 2020年国产一国产一级毛卡片 | 亚洲日本1区2区3区二区 |