工厂模式

# 了解工厂模式
在面向对象编程中,术语"工厂"表示一个负责创建其它类型对象的类,通常情况下,作为一个工厂的类有一个对象以及与它关联的多个方法。客户端使用其它参数调用此方法,之后,工厂会据此创建类型的对象,然后将他们返回给客户端

# 优点
- 松耦合,即对象的创建可以独立于类的实现
- 客户端无需了解创建对象的类,但是照样可以使用它来创建对象。它只需要知道需要传递的接口、方法和参数,就能够创建所需类型的对象了。这简化了客户端的实现
- 可以轻松的在工厂中添加其它类来创建其它类型的对象,而这无需更改客户端代码,最简单的情况下,客户端只需要传递另一个参数就可以了
- 工厂还可以重用现有对象,但是,如果客户端直接创建对象的话,总是创建一个新对象

# 探讨
假设公司里的一台机器目前正在制造玩具车。后来,公司的CEO认为i,迫切需要根据市场的需求来制造玩偶,这时,工厂模式就派上用场了。在这种情况下,机器成为接口,CEO是客户端。CEO只关心要制造的对象(或玩具)和创建对象的接口(机器).


# 工厂模式有3中变体
- 简单工厂模式:允许接口创建对象,但不会暴露对象的创建逻辑
- 工厂方法模式:允许接口创建对象,但使用哪个类来创建对象,则是交由子类决定的
- 抽象工厂模式:抽象工厂是一个能够创建一系列相关的对象而无需指定/公开其具体类的接口。该模式能够提供其它工厂的对象,在其内部创建其它对象。
posted @ 2022-01-27 15:13  我在路上回头看  阅读(27)  评论(0编辑  收藏  举报