抽象工厂模式
:
工厂方法模式
主要是作用与同一类产品,比如说:手机,而抽象工厂模式
是对一产品簇的抽象,比如说, 小米有小米手机,小米笔记本…
如果说 工厂方法模式
是对同一类产品的抽象,那么 抽象工厂模式
就是对同一类簇的抽象,也可以说是对一个复杂对象,进行更细致的抽象;
简单的类比,小米从当初的小米手机发展成小米商城,小米一开始创建时,只有小米手机这一类产品,此时可以用 工厂方法模式
,管理小米手机,但是当小米日益庞大,就需要更细致的划分,比如,小米手机,小米笔记本… 这个时候,就相当于 抽象工厂模式
。
不可缺少的对象
- 抽象出的类,一般都是2个及以上;
- 将抽出类进行整合的类。
// 手机的抽象类
abstract class Phone {
name: string;
price: number;
constructor(name: string, price: number) {
this.name = name;