工厂方法(factory-method)模式
2017-10-03 23:46
387 查看
1.意图
定义用于创建对象的接口,但是让子类决定要实例化哪个类。 工厂方法允许类将实例化推迟到子类。2.解释
它提供了一种将实例化逻辑委托给子类的方法。在基于类的编程中,工厂方法模式是使用工厂方法来处理创建对象的问题的创建模式,而不必指定将要创建的对象的确切类。 这可以通过调用工厂方法(在接口中指定并由子类实现)来实现,或者在基类中实现,并且可选地被派生类覆盖,而不是调用构造函数。
3.代码实例
public enum OperatorType { ADD("+"), SUB("-"), DIV("/"), MUL("*"); private String operator; OperatorType(String operator) { this.operator = operator; } @Override public String toString() { return "OperatorType{" + "operator='" + operator + '\'' + '}'; } }
public interface Operator { OperatorType getOperatorType(); }
public interface OperatorFactory { Operator manufactureOperator(OperatorType operatorType); }
public class AddOperator implements Operator{ private OperatorType operatorType; public AddOperator(OperatorType operatorType){ this.operatorType = operatorType; } public OperatorType getOperatorType() { return operatorType; } @Override public String toString() { return "AddOperator{" + "operatorType=" + operatorType + '}'; } }
public class AddOperatorFactory implements OperatorFactory { public Operator manufactureOperator(OperatorType operatorType) { return new AddOperator(operatorType); } }
public class App { private static final Logger logger = LoggerFactory.getLogger(App.class); public static void main(String[] args) { OperatorFactory factory = new AddOperatorFactory(); Operator operator = factory.manufactureOperator(OperatorType.DIV); logger.info(operator.toString()); } }
相关文章推荐
- 设计模式之 Factory Method 工厂方法
- 工厂方法 (Factory Method) 创建型模式
- 设计模式学习之工厂方法(Factory Method,创建型模式)(2)
- c#设计模式- Factory Method模式(工厂方法)
- C# 设计模式-工厂方法(Factory Method)
- 面向对象:工厂方法(Factory Method)模式
- 跟着Android学设计模式:工厂方法(Factory method)
- 设计模式(一)----- 工厂方法(FactoryMethod)----(JAVA版)
- 设计模式(一)----- 工厂方法(FactoryMethod)----(JAVA版)
- 【设计模式基础】创建型模式 - 4 - 工厂方法(Factory Method)
- 设计模式 工厂方法(Factory Method Pattern)转载
- 我看懂的设计模式 Factory Method工厂方法
- 设计模式示例一 Factory Method(工厂方法)
- java与模式 工厂方法(factory method)
- c++ 设计模式8 (Factory Method 工厂方法)
- 创建类模式(一):工厂方法(Factory Method)
- 设计模式学习笔记:factory method(工厂方法)
- Factory Method(工厂方法)模式
- C#面向对象设计模式纵横谈 学习笔记5 Factory Method 工厂方法(创建型模式)
- 创建模式之二:工厂方法(Factory Method)