使用工厂来生成对象,实现解耦合的目的。
简单工厂设计模式
定义:一个工厂方法,根据传入的参数,生成对应的对象
先将产品抽象出来,生成接口,定义工厂类用来创建产品。
如:将香蕉,苹果抽象为水果(fruit),再定义工厂类,创建香蕉苹果产品。
class FruitFactory{
public Fruit createFruit(String type)
{
if(“apple”.equals.(type))
return new apple();
if(“banana”.equals.(type))
return new banana();
}
}
工厂方法设计模式
定义:将工厂类抽象,具体需要生产什么产品让子类决定
什么工厂生产什么产品,苹果工厂生产苹果,香蕉工厂生成香蕉。
工厂接口
public interface FruitFactory {
Fruit createFruit();//生产水果
}
使用:
AppleFactory applefactory=new AppleFactory();
BananaFactory bananafactory=new BananaFactory();
Apple apple=(Apple)applefactory.createFruit();
Banana banana=(Banana)bananafactory.createFruit();
抽象工厂设计模式
将产品所有属性抽象,不同的生产工厂通过工厂接口获得需要的属性生产出产品。
CUP接口
cpu625实现类
cpu825实现类
屏幕接口
6寸屏幕实现类
5.5寸屏幕实现类
手机工厂接口:CUP,屏幕
小米工厂类
红米工厂类
总结:
简单工厂与工厂方法设计模式使用方式相同,产品的分类,名称确定,数量相对固定,使用简单工厂模式
抽象工厂模式用来解决复杂的问题,适用于大量,一系列对象的生产