不是标准的设计模式,但是经常使用。
提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口、抽象类、具体类
public interface Api{ public void operation(); } /*----------文件分割-------------*/ public class Api1 implements Api{ @Override public void operation(){ System.out.println("api实现1方式"); } } /*----------文件分割-------------*/ public class Api2 implements Api{ @Override public void operation(){ System.out.println("api实现2方式"); } } /*----------文件分割-------------*/ //可以添加更多的api实现类1、简单工厂的功能
可以用来创建接口、抽象类或普通类的实例
2、静态工厂
通常把简单工厂实现成工具类,也称为静态工厂
3、万能工厂
理论上可以创建任何对象,所有称为万能工厂
创建对象范围控制在独立的组件级别或模块级别
1、类名 “模块名称+Factory”
2、方法名称“get/create+接口名称”
方法内部主要实现的功能是"选择合适的实现类"创建实例–参数来源于client
可配置的简单工厂–参数来源于配置文件