工厂方法模式(Factory Method Pattern)

原文地址:https://jaune162.blog/design-pattern/factory-method-pattern/

概述

工厂方法模式(Factory Method Pattern)是一个对象创建型模式。

定义一个用于创建对象的接口,让子类决定实例化哪一个类。 Factory Method使一个类的实例化延迟到其子类。

– 《设计模式:可复用面向对象软件的基础》

说的更直白一点就是,定义一个工厂接口,将对象的实例化操作放到工厂的实现类中。

解析

这个例子中有饮品 Drink 和饮品工厂 DrinkFactoryDrinkFactory 负责生产 Drink。在现实生活中可口可乐(Coca)和奶茶(MilkyTea),不是由一家生产的,而是生产可口可乐的工厂生产可口可乐,Coco奶茶店可以生产奶茶。

当我们需要奶茶饮品的时候就需要用 CocoDrinkFactory 生产,当我们需要可口可乐的时候就需要用 CocaDrinkFactory 生产。

这个例子不太恰当,因为我们不会直接从可口可乐工厂购买可口可乐。但是我认为用这个例子来解释工厂方法模式是没有问题的。而且能够清晰的描述出工厂方法模式的使用场景。

public interface Drink {
   
   
}

相关推荐

  1. 工厂方法模式

    2024-02-08 03:00:01       59 阅读
  2. 工厂方法模式

    2024-02-08 03:00:01       35 阅读
  3. 设计模式-工厂方法模式

    2024-02-08 03:00:01       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-08 03:00:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-08 03:00:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-08 03:00:01       87 阅读
  4. Python语言-面向对象

    2024-02-08 03:00:01       96 阅读

热门阅读

  1. vue 用的watch 的说明及例子

    2024-02-08 03:00:01       46 阅读
  2. 一次ceph节点时钟同步异常排查总结

    2024-02-08 03:00:01       45 阅读
  3. 瑞芯微推理RKNN使用

    2024-02-08 03:00:01       54 阅读
  4. 数据管理成熟度标准评估——面试——二面

    2024-02-08 03:00:01       49 阅读
  5. LCP 30. 魔塔游戏 - 力扣(LeetCode)

    2024-02-08 03:00:01       47 阅读
  6. 数据结构——A/复杂度

    2024-02-08 03:00:01       48 阅读
  7. Go语言从基础到高级-目录

    2024-02-08 03:00:01       57 阅读
  8. 机器学习系列——(八)KNN分类算法

    2024-02-08 03:00:01       49 阅读
  9. Rust 初体验1

    2024-02-08 03:00:01       46 阅读
  10. Python爬虫某云音乐歌手及下载其免费音乐

    2024-02-08 03:00:01       48 阅读