> 文档中心 > 设计模式之抽象工厂模式

设计模式之抽象工厂模式

友情链接:

设计模式之简单工厂模式/静态工厂模式
设计模式之工厂方法模式
设计模式之建造者模式

----------------------------------

 设计模式之抽象工厂模式

import com.enjoy.entity.Bag;import com.enjoy.entity.Fruit;/** * 抽象水果工厂 */public abstract class AbstractFactory {    public abstract Fruit getFruit();    public abstract Bag getBag();}

 苹果-水果工厂

import com.enjoy.entity.Bag;import com.enjoy.entity.Fruit;import com.enjoy.entity.bag.AppleBag;import com.enjoy.entity.fruit.Apple;/** * 苹果-水果工厂 */public class AppleFactory extends AbstractFactory {    @Override    public Fruit getFruit() {        return new Apple();    }    @Override    public Bag getBag() {        return new AppleBag();    }}

香蕉-水果工厂

import com.enjoy.entity.Bag;import com.enjoy.entity.Fruit;import com.enjoy.entity.bag.BananaBag;import com.enjoy.entity.fruit.Banana;/** * 香蕉-水果工厂 */public class BananaFactory extends AbstractFactory {    @Override    public Fruit getFruit() {        return new Banana();    }    @Override    public Bag getBag() {        return new BananaBag();    }}

抽象工厂模式客户端 

import com.enjoy.entity.Bag;import com.enjoy.entity.Fruit;/** * 抽象工厂模式测试 */public class OrderSendClient {    public static void main(String[] args) {        sendFruit();    }    public static void sendFruit() {        // 初始化工厂        AbstractFactory factory = new AppleFactory();// spring使用注入方式        // 得到水果        Fruit fruit = factory.getFruit();        fruit.draw();        // 得到包装        Bag bag = factory.getBag();        bag.pack();    }}