码迷,mamicode.com
首页 > 其他好文 > 详细

Factory

时间:2018-04-06 23:43:09      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:ase   简单   创建   相关   turn   工厂方法   efault   gpo   接口   

简单工厂模式

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

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);
}

 

Factory

标签:ase   简单   创建   相关   turn   工厂方法   efault   gpo   接口   

原文地址:https://www.cnblogs.com/SleepyDot/p/8729165.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!