美文网首页
android常用设计模式之工厂方法模式

android常用设计模式之工厂方法模式

作者: 好大一只龍 | 来源:发表于2017-12-22 23:21 被阅读27次

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

工厂方法模式结构图:
工厂方法模式结构图.jpg

在工厂方法模式中有如下角色:

  • Product: 抽象产品类
  • ConcreteProduct: 具体产品类,实现Product接口。
  • Factory: 抽象工厂类,该类返回一个Product类型的对象。
  • ConcreteFactory: 具体工厂类,返回ConcreteProduct实例。
demo&代码
public abstract class AbstractLivingDetection {
    /**
     * 开始检测
     */
    public abstract void startDetection();
}
public class HaiXinLivingDetection extends AbstractLivingDetection {
    @Override
    public void startDetection() {
        System.out.println("开启海鑫活体检测");
    }
}
public class TongFuDunLivingDetection extends AbstractLivingDetection {
    @Override
    public void startDetection() {
        System.out.println("开启通付盾活体检测");
    }
}
public abstract class AbstractLivingDetectionFactory {
    public abstract <T extends AbstractLivingDetection> T createLivingDetection(Class<T> t);
}
public class LivingDetectionFactory extends AbstractLivingDetectionFactory {

    @Override
    public <T extends AbstractLivingDetection>T createLivingDetection(Class<T> t){
        try {
            return  t.newInstance();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return null;
    }
}
使用场景
  • 工厂类负责创建的对象比较少。
  • 客户只需知道传入工厂类的参数,而无须关心创建对象的逻辑。
    优点:
优点
  • 使用户根据参数获得对应的类实例,避免了直接实例化类,降低了耦合性。
  • 工厂方法模式不但包含简单工厂的优点,而且没有违背开放封闭原则。

代码已上传github

相关文章

  • 简单工厂模式

    Android进阶之设计模式 简单工厂模式 简单工厂模式(又叫作静态工厂方法模式), 其属于创建型设计模式,但并不...

  • Android常用设计模式有哪些?

    Android常用设计模式有哪些? 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式...

  • Android 工厂模式

    Android 工厂模式 Android 23种设计模式 前言 工厂模式是创建型模式,使我们常用/常见的模式之一。...

  • PHP-浅谈单例模式和工厂模式

    PHP中常用的设计模式有单例模式、工厂模式(简单工厂模式、工厂方法模式和抽象工厂方法模式)、适配模式、策略模式。 ...

  • 设计模式、第一篇

    常用设计模式 设计模式分类 1.创建型 工厂方法模式(Factory Method)、抽象工厂模式(Abstrac...

  • 工厂模式

    安卓常用的设计模式 工厂模式(Factory Pattern)是 Android中最常用的设计模式之一。这种类型的...

  • Java23种设计模式之创建型模式「工厂方法模式」

    工厂方法模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属...

  • 深入浅出工厂设计模式

    工厂设计模式 一.什么是工厂设计模式 工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式...

  • 设计模式之简单工厂、工厂方法、抽象工厂

    设计模式之简单工厂、工厂方法、抽象工厂 什么是设计模式? 设计模式(Design pattern)代表了最佳的实践...

  • 工厂模式

    java设计模式-工厂模式 工厂模式: 工厂模式是java设计模式里最常用的设计模式之一。 工厂模式属于创建型模式...

网友评论

      本文标题:android常用设计模式之工厂方法模式

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