Factory

简单工厂模式

严格来讲简单工厂模式不是一种设计模式。

public IProduct producing(String type) 
{   
    switch(type)
    {
       case "A1" : return new ProductA1();
       case "A2" : return new ProductA2();
       default: return null;
    }
}

 

工厂方法模式

定义一个用于创建对象的接口,让子类决定实现哪一个类。工厂方法使一个类的实例化延迟到其子类。

public interface IFactory
{
    IProduct producing(String type);
}
public class FactoryA implements IFactory {
    @Override
    public IProduct producing(String type)
    {
        switch(type)
        {
            case "A1" : return new ProductA1();
            case "A2" : return new ProductA2();
            default: return null;
        }
    }

}

 

抽象工厂模式

提供一个创建一系列相关或者相互依赖对象的接口,而无需指定他们的具体实现。当产品只有一个的时候抽象工厂就退化成了工厂方法模式;当工厂方法模式的产品有多个的时候其就进化成了抽象工厂模式。

public interface IFactory
{
    IProduct producingA(String type);
    IProduct producingB(String type);
}

 

posted @ 2018-04-06 22:14  SleepyDot  阅读(223)  评论(0编辑  收藏  举报