美文网首页
工厂模式

工厂模式

作者: 桃子爸比 | 来源:发表于2018-05-17 10:16 被阅读3次

1.工厂模式:

项目中一般会这样写:

public static Api create(int type){

        switch (type) {

                case 1:

                return new ImplA();

                case 2:

                return new ImplB();

                case 3:

                return new ImplC();

                default:

                return new ImplC();

    }

}

这样写的话 后续如果需要添加更多类型,就需要写更多的case,有时新增的会忘记写return,会造成不必要的麻烦

其实可以这样写更优雅:

publicT creatProduct(Class clz)

{

        Api  api=null;

        try {

                api=(Api) Class.forName(clz.getName()).newInstance();

         } catch (InstantiationException | IllegalAccessException

                | ClassNotFoundException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

        }

        return (T)api;

}

当然,这还不是最好,我们可以将调用层和建造层分离开,这就是抽象工厂模式

//实例需要建造的接口

public interface IApi {

        void newInstance();

}

//工厂建造接口

public interface IFactory {

        IApi create();

}

public class ImplA implements IApi{

        @Override

         public void newInstance() {

        }

}

//工厂实现类A

public class ImplAFactory implements IFactory {

        @Override

        public IApi create() {

                return new ImplA();

        }

}

//工厂实现类B

public class ImplBFactory implements IFactory {

        @Override

        public IApi create() {

                return new ImplB();

        }

}

//实际调用

public class Test {

        public static void main(String[] args) {

                IFactory factory=new ImplAFactory();

                factory.create().newInstance();

        }

}

相关文章

  • 常用设计模式

    设计模式 工厂模式 工厂模式思路上分:简单工厂模式,工厂模式, 抽象工厂模式// 抽象工厂模式可以代替工厂模式,做...

  • 工厂模式

    工厂模式细分三种:简单工厂模式、工厂模式、抽象工厂模式。 工厂模式相当于抽象了简单工厂模式的工厂类,而抽象工厂模式...

  • 工厂模式

    工厂模式 就是工厂---生产-->产品 在设计模式中,分为 简单工厂模式, 工厂方法模式,抽象工厂模式. 工厂模式...

  • 找女朋友之简单工厂模式,工厂模式,抽象工厂模式

    找女朋友之简单工厂模式,工厂模式,抽象工厂模式 找女朋友之简单工厂模式,工厂模式,抽象工厂模式

  • 【设计模式】- 工厂模式

    工厂模式分为三种:简单工厂模式、工厂方法模式和抽象工厂模式。 工厂模式:靠工厂生产对象 简单工厂模式中只有一个工厂...

  • 工厂模式

    工厂模式包含三种模式:简单工厂模式、工厂方法模式和抽象工厂模式。 简单工厂模式 定义简单工厂模式:由一个工厂类根据...

  • Java设计模式——工厂模式

    工厂模式简单工厂模式工厂方法模式抽象工厂模式 1.简单工厂模式 1.基本介绍1)简单工厂模式也叫静态工厂模式,是属...

  • 设计模式-3种工厂模式

    工厂模式包括:简单工厂模式,工厂方法模式,抽象工厂模式 简单工厂模式 工厂方法根据参数直接创建实例:工厂->产品 ...

  • 设计模式-工厂模式

    工厂模式概念 实例化对象,用工厂方法代替new操作。工厂模式包括工厂方法模式和抽象工厂模式。抽象工厂模式是工厂模式...

  • 第一章2.0工厂- 基础类准备

    2.1工厂-简单工厂模式2.2工厂-工厂方法模式2.3工厂-抽象工厂模式

网友评论

      本文标题:工厂模式

      本文链接:https://www.haomeiwen.com/subject/lkyrhttx.html