设计模式-工厂

2018-05-07  本文已影响0人  ZjyMac

一,工厂模式概述

二,简单工厂模式

public abstract class AbstractProduct {
    public abstract void usePhone();
}
public class AndroidPhone extends AbstractProduct {
    @Override
    public void usePhone() {
        Log.e("zjy", "android手机");
    }
}

public class IosPhone extends AbstractProduct {
    @Override
    public void usePhone() {
        Log.e("zjy","ios手机");
    }
}


public class PhoneFactory {
    public AbstractProduct createPhoneProduct(String name) {
        AbstractProduct product = null;
        if ("android".equals(name)) {
            product = new AndroidPhone();
        } else if ("ios".equals(name)) {
            product = new IosPhone();
        }
        return product;
    }
}

 PhoneFactory factory = new PhoneFactory();
 AbstractProduct product1 = (AndroidPhone) factory.createPhoneProduct("android");
        product1.usePhone();

三,工厂模式

四,抽象工厂模式

五,总结

1.工厂模式是一个创建型的模式
2.在任何使用A a = new A()的情况下,理论上说都能使用工厂模式。
3.在工厂模式分别的对应使用中,简单工厂模式,注重具体生成的产品,而工厂模式,注重的同一个产品下的不同产品族的产品。如栗子中上海大众的汽车和一汽大众的汽车,抽象工厂模式更多事在与整体产品的架构上,不再是单一一个的抽象产品类。
4.工厂模式:一个抽象产品派生出去多个具体的产品,一个抽象工厂派生出多个具体的工厂,而一个具体的工厂对应生成的是一个具体的产品。
5.抽象工厂模式:多个抽象产品分别派生出多个具体的产品,一个抽象工厂派生成出多个具体的工厂,一个工厂对应生成多个具体的产品,这些多个抽象产品之间存在着联系。

上一篇 下一篇

猜你喜欢

热点阅读