Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
FactoryMethod.java
FactoryMethod.py
FactoryMethod.scala
README.md

README.md

简介

工厂方法的核心思想是:封装类中不变的部分,将类中易变的部分封装成独立的类,然后通过依赖注入,以达到解耦和复用的目的。与简单工厂相比,工厂方法中的抽象工厂类并不直接创建 具体产品类 的对象,而是将对象创建的工作延迟到子类中。工厂方法模式是模板方法模式的一个应用。


角色

  • 抽象工厂
    封装不易变的部分,然后注入到 具体产品类对象,抽象工厂角色并不负责创建具体产品类的对象,对象的创建会延迟到子类中
  • 具体工厂
    继承抽象工厂角色。负责创建具体产品类的对象
  • 抽象产品类
    为所有的具体产品类提供公共的接口
  • 具体产品类
    实现或继承抽象产品类

UML类图

factory-method.png