java 设计模式之工厂模式
工厂模式分三种:
[1] 简单工厂模式
[2] 工厂方法模式
[3] 抽象工厂模式
简单工厂模式又称静态工厂模式:定义一个创建对象类,由这个类来封装实例化对象的行为;
在简单工厂模式中,可以根据参数的不同而返回不同类的实例,
简单工厂模式专门定义了一个类(工厂类)来负责创建其它类的的实例,被创建的实例通常都是具有共同的父类
只有一个工厂类的方式叫简单工厂模式,简单工厂类的所有方法都是static,这就会造成对子类无法去继承它,无法去扩展它,
所以简单工厂类适合创建一些产品单一的,简单的产品,
简单工厂模式是类
简单工厂模式:应用场景:因我们会用到大量的创建某种,某类或是某对象时,就会使用简单工厂模式
工厂方法模式只是部分抽象,
抽象工厂模式是全部抽象
工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪个类,工厂方法使用一个类的实例延迟到子类去完成。即 让具体的工厂类去创建具体的产品(对象)
(1)抽象工厂(Factory):是工厂方法模式的核心,与应用程序无关。所有创建对象的工厂类必须实现这个接口。
(2)具体工厂(Concrete Factory):是实现抽象工厂接口的具体工厂类,包含与应用程序密切相关的逻辑,并且被应用程序调用以创建产品对象。
(3)抽象产品(Product):是工厂方法模式所创建的对象的超类型,也就是产品对象的共同父类或共同拥有的接口。
(4)具体产品(Concrete Product):这个角色实现了抽象产品角色所定义的接口。某具体产品有专门的具体工厂创建,它们之间往往一一对应。
抽象工厂模式与工厂方法模式最大的区别:抽象工厂中每个工厂可以创建多种类的产品;而工厂方法每个工厂只能创建一类
简单工厂
工厂方法模式UML
抽象工厂
版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论