设计模式 | 创建型模式 | 简单工厂

2021-03-08  本文已影响0人  暴走的朝天椒

简单工厂的定义

提供一个创建对象实例的功能,而无需关心其具体实现。被创建实例的类型可以是接口、抽象类、也可以是具体的类。

简单工厂解决问题的思路

为了不让模块外部知道模块内部的具体实现,所以干脆新建一个类,在这个类里创建接口,然后把建好的接口返回给客户端。把这个类就称为简单工厂(Factory)。

简单工厂的结构与说明

简单工厂的结构示意图.png

简单工厂调用顺序示意图

简单工厂调用顺序示意图.png

简单工厂实例代码

/**
 * 定义接口,可以通过简单工厂来实现
 */
public interface Api {
    public void operation(String s);
}
/**
 * 接口的具体实现类A
 */
public class ImplApiA implements Api{
    @Override
    public void operation(String s) {
        System.out.println("A s:" + s);
    }
}
/**
 * 接口的具体实现类B
 */
public class ImplApiB implements Api{
    @Override
    public void operation(String s) {
        System.out.println("B s:" + s);
    }
}
/**
 * 工厂类,用来创建Api对象
 */
public class Factory {
    /**
     * 创建具体Api对象的方法
     * @param condition
     * @return
     */
    public static Api createApi(int condition){
        Api api = null;
        if (condition == 1){
            api = new ImplApiA();
        }else {
            api = new ImplApiB();
        }
        return api;
    }
}
/**
 * 客户端,使用Api接口
 */
public class Client {
    public static void main(String[] args) {
        Api api = Factory.createApi(1);
        api.operation("正在使用简单工厂");
    }
}
上一篇 下一篇

猜你喜欢

热点阅读