1.工厂模式
工厂模式主要为创建对象提供了接口,分为简单工厂模式,工厂方法模式,抽象工厂模式。
2.实现方式
1.简单工厂模式
应用情形:
手机厂可以指定生产苹果,华为,小米牌子的手机,哪个卖的好就生产哪个。
结构组成:
工厂类:简单工厂模式的核心类,定义一个创建具体实例对象的接口。
抽象产品类:具体产品类的父类。
具体产品类:工厂类创建的具体产品对象的实例。
实现代码:
缺陷:拓展性差,新增产品时需要修改工厂类。
2.工厂方法模式
应用情形:
手机卖的太火爆了,开设不同的厂子分别生产不同的手机
结构组成:
抽象工厂类:工厂方法模式的核心类,提供创建具体产品的接口,由具体工厂类实现
具体工厂类:继承于抽象工厂,实现创建对应具体产品对象的方式
抽象产品类:具体产品类的父类。
具体产品类:工厂类创建的具体产品对象的实例。
实现代码:
缺陷:每新增一个产品,就需要增加一个对应的产品的具体工厂类
一个厂子只有一个产品
3.抽象工厂模式
应用情形:
厂子壮大了,不仅卖手机还要卖电视机
结构组成:
抽象工厂类:工厂方法模式的核心类,提供创建具体产品的接口,由具体工厂类实现
具体工厂类:继承于抽象工厂,实现创建对应具体产品对象的方式
抽象产品类:具体产品类的父类。
具体产品类:工厂类创建的具体产品对象的实例。
实现代码:
缺陷:每新增一个产品,就需要增加一个对应的产品的具体工厂类