创建型设计模式-工厂方法 Factory Method

date
Apr 8, 2021
slug
design-pattern-factory-method
status
Published
tags
设计模式
summary
type
Page

简介

工厂方法中,每一个具体工厂类都对应创建一个具体产品类,所有具体工厂类都实现抽象工厂,所有具体产品类都实现抽象产品。
抽象工厂定义了创建抽象产品的方法签名,具体工厂类各自实现各自逻辑,来创建具体的产品。
 

角色

  • 抽象工厂 Abstract Factory
    • 定义创建产品的方法签名,即Factory Method
  • 抽象产品 Abstract Product
    • 定义产品的基本属性
  • 具体工厂 Concrete Factory
    • 实现自抽象工厂,并实现 Factory Method,实现如何创建具体产品。
  • 具体产品 Concrete Product
    • 实现具体产品基本属性
 

类图

如图所示,Dialog抽象工厂可以创建Button抽象产品,WindowsDialog和WebDialog都是具体工厂,负责创建WindownsButton和HTMLButton。
notion image

代码

 
output
 
 
 

© 菜皮 2020 - 2024