查看原文
其他

搞懂抽象工厂模式,这一篇就够了!

阿宝哥 全栈修仙之路 2023-02-02

欢迎你阅读 「《重学 TypeScript 3.0》」 系列教程,本系列教程会包含 TypeScript 基础知识、进阶知识、类型体操(精选)、设计模式、核心特性实战和开源项目源码解析 「6」 大专题的内容。

别只会用 new 创建对象,用上工厂模式真香这篇文章中,阿宝哥介绍了简单工厂模式和工厂方法模式。这两种模式的使用区别如下图所示:

对于简单工厂模式来说,一个工厂可以生产多种不同的产品。而对于工厂方法模式,一个特定的工厂只负责生产特定的产品(工厂类中只有一个工厂方法或一组重载的工厂方法)。比如,SuperX01Factory 工厂只能生产 SuperX01 型号的汽车。

但通常情况下,一个工厂往往可以生产多种产品,而不是单一的产品。本文阿宝哥将介绍抽象工厂模式,该模式的本质是提供一个创建一系列相关或者相互独立对象的接口,而无需指定它们具体的类。

上图中,我模拟了用户购物的过程。小秦从 Super01Factory 工厂订购了 SuperX01 型号的汽车,工厂按照 SuperX01 对应的模型进行生产,生产完成后交付给小秦。而另一个用户小王,从同一个 Super01Factory 工厂订购了 SuperZ01 型号的飞机,工厂按照 SuperZ01 对应的模型进行生产,生产完成后交付给小王。

提示:Android 平台 1 元 10 个微豆,iOS 平台 1 元 7 个微豆,购买时可切换平台充值。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存