设计模式--工厂模式

来源:互联网 发布:知乎如何盈利 编辑:程序博客网 时间:2024/05/20 01:12
根据场景的不同生成不同的对象实例,这种生成对象的方法,我们称为工厂模式

比如说  一个图片类 里面有jpeg 和png  每个返回不同类型图片的大小 和宽度 

我们可以做个工厂模式 通过不同的传参 new 不同的对象

也可以把 对象实例中转器 那个方法做成静态 我们称谓静态工厂模式


工厂方法模式 :定义了一个用于创建对象的接口 让子类决定实例化哪一个类 工厂模式使一个类的实例化延迟到了子类

工厂方法模式:
一个抽象产品类,可以派生出多个具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。
每个具体工厂类只能创建一个具体产品类的实例。
抽象工厂模式:
多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。
每个具体工厂类可以创建多个具体产品类的实例。
区别:
工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。
工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建
多个。

下图是个抽象工厂模式  如果业务很庞大 用 否则就用简单工厂模式




原创粉丝点击