Java設計模式之抽象工廠模式淺析講解

1.介紹

當系統準備為用戶提供一系列相關對象,又不想讓用戶代碼和這些對象形成耦合時,就可以使用抽象工廠模式。

2.如何實現

1)抽象產品–Car

2)具體產品–BYDCar、TSLCar

3)抽象工廠Factory

4)具體工廠–BYDFactory、TSLFactory

3.代碼實現

/**
 * 抽象產品
 */
public abstract class Car {
    public abstract String getName();
}
/**
 * 具體產品
 */
public class BYDCar extends Car {
    String name;
    public BYDCar(String name){
        this.name = name;
    }
    @Override
    public String getName() {
        return name;
    }
}
/**
 * 抽象工廠
 */
public abstract class CarFactoty {
    public abstract Car createCar(String name);
}
 
/**
 * 具體工廠
 */
public class BYDFactory extends CarFactoty {
    @Override
    public BYDCar createCar(String name) {
        return new BYDCar(name);
    }
}

4.總結

1)抽象工廠模式可以為用戶創建一系列相關的對象,是用戶和這些類的對象解耦

2)使用抽象工廠模式可以方便的為用戶配置一些列對象。

3)在抽象工廠模式中,可以隨時增加“具體工廠”為用戶提供一組相關的對象。

如:是上面的例子中,如果用戶需要一特斯拉車,創建一個特斯拉對象和特斯拉工廠就能完成。

/**
 * 具體產品
 */
public class TSLCar extends Car {
    String name;
    public TSLCar(String name){
        this.name = name;
    }
    @Override
    public String getName() {
        return name;
    }
}
/**
 * 具體工廠
 */
public class TSLFactory extends CarFactoty {
    @Override
    public TSLCar createCar(String name) {
        return new TSLCar(name);
    }
}

到此這篇關於Java設計模式之抽象工廠模式淺析講解的文章就介紹到這瞭,更多相關Java抽象工廠模式內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: