1.定义:
提供创建对象实例的功能, 无须关心具体实现;
也叫静态工厂(万能工厂):常把工厂实现成一个工具类, 直接使用静态方法; 并且可构造任何对象
2.配置
从客户端调用工厂时, 选择传入的参数意味着客户端需知道参数含义, 理解每个参数的功能, 相当于向客户端暴露一定实现细节.
一般使用可配置的简单工厂;使用反射+配置文件来实现.
3. 优缺点
封装, 解耦, 增加客户端复杂度
提供创建对象实例的功能, 无须关心具体实现;
也叫静态工厂(万能工厂):常把工厂实现成一个工具类, 直接使用静态方法; 并且可构造任何对象
从客户端调用工厂时, 选择传入的参数意味着客户端需知道参数含义, 理解每个参数的功能, 相当于向客户端暴露一定实现细节.
一般使用可配置的简单工厂;使用反射+配置文件来实现.
封装, 解耦, 增加客户端复杂度