一、简单工厂模式
没有抽象工厂,一个具体工厂。
一种抽象产品,多个具体产品。
通过调用具体工厂的方法(对具体工厂传入具体产品的String字符串参数)来生产具体产品
二、工厂方法模式(一个产品等级结构,多个产品族)一种产品被多个工厂加工,有多个牌子。
一个抽象工厂,多个具体工厂。
一种抽象产品,这种抽象产品对应多个具体产品。
不需要对工厂传入String字符串参数,实例化工厂类直到具体工厂,调用具体产品对应的具体工厂生产对应产品。
三、抽象工厂模式(多个产品结构,多个产品族)多种产品被多个工厂加工
一个抽象工厂,多个具体工厂。
多种抽象产品,每种抽象产品对应多个具体产品。
多个抽象工厂要给出生产多个产品等级结构的抽象方法。
多个产品等级结构要给出所需要的多个产品族的抽象方法。
颜色抽象工厂对应的多个具体颜色抽象工厂(黄黑白),要分别给出生产不同产品等级(男和女)的方法。
性别产品等级(男和女),要给出多个具体颜色产品(黄黑白人种的男人和女人)的方法。
应用:哪一种产品等级,需要哪个颜色的产品,就调用哪个颜色工厂的具体的生产该产品等级的方法。