設計模式——工廠模式

前言

工廠模式屬於創建型模式中的一種。主要用來創建複雜的對象,簡單對象能夠使用new來創建就不用工廠方法模式來創建了。

工廠模式的實現

(1)創建抽象的產品類

public abstract class Fruit {
    public abstract void getProduct();
}

(2)創建具體產品類

public class Apple extends Fruit {
    @Override
    public void getProduct() {
        Log.e("============","蘋果");
    }
}


public class Banana extends Fruit {
    @Override
    public void getProduct() {
        Log.e("============","香蕉");
    }
}

(3)創建抽象工廠類

public abstract class Factory {
    public abstract  Fruit getFruit();
}

(4)創建具體工廠類

public class AppleFactory extends Factory {
    @Override
    public Fruit getFruit() {
        return new Apple();
    }
}

public class BananaFactory extends Factory {
    @Override
    public Fruit getFruit() {
        return new Banana();
    }
}

測試

/**
  * 工廠模式的測試
  */
private void testFactory(){
    Factory appleFactory=new AppleFactory();
    Fruit apple= appleFactory.getFruit();
    apple.getProduct();

    Factory bananaFactory=new BananaFactory();
    Fruit banana=bananaFactory.getFruit();
    banana.getProduct();
}

輸出結果:

2020-03-10 11:12:04.685 5648-5648/com.she.javaprojectdemo E/============: 蘋果
2020-03-10 11:12:04.685 5648-5648/com.she.javaprojectdemo E/============: 香蕉

優點

(1)符合開放封閉原則。新增產品時,只需添加相應的具體產品類和相應的工廠子類即可。

(2)符合單一職責原則。每個具體工廠類只負責創建對應的產品。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章