工厂模式(简单工厂+工厂方法+抽象工厂)
来源:互联网 发布:伏羲距今多少年 知乎 编辑:程序博客网 时间:2024/04/27 15:46
通过多态实现,抽象类可以是
1、接口interface implements,
2、抽象类abstract extends
具体工厂类new具体产品的方法,
1、可以使用静态方法,由工厂类名字调用.静态方法()返回new出来的具体产品,
2、也可以new工厂对象,调用对应的方法new出来具体产品
一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。
工厂模式在《Java与模式》中分为三类:
1)简单工厂模式(Simple Factory):不利于产生系列产品;
2)工厂方法模式(Factory Method):又称为多形性工厂;
3)抽象工厂模式(Abstract Factory):又称为工具箱,产生产品族,但不利于产生新的产品;
这三种模式从上到下逐步抽象,并且更具一般性。
二、简单工厂模式
1)简单工厂模式(Simple Factory):不利于产生系列产品;
2)工厂方法模式(Factory Method):又称为多形性工厂;
3)抽象工厂模式(Abstract Factory):又称为工具箱,产生产品族,但不利于产生新的产品;
二、简单工厂模式
只有一个具体工厂
一个具体工厂生产new多个具体产品,根据不同的条件new和return
简单工厂模式又称静态工厂方法模式。重命名上就可以看出这个模式一定很简单。它存在的目的很简单:定义一个用于创建对象的接口。
简单工厂模式又称静态工厂方法模式。重命名上就可以看出这个模式一定很简单。它存在的目的很简单:定义一个用于创建对象的接口。
在简单工厂模式中,一个工厂类处于对产品类实例化调用的中心位置上,它决定那一个产品类应当被实例化, 如同一个交通警察站在来往的车辆流中,决定放行那一个方向的车辆向那一个方向流动一样。
//抽象产品(一个)
public interface Car{}
//具体产品(多个)
public class Benz implements Car{
}
public class Bmw implements Car{
}
。。。(奥迪我就不写了:P)
//具体工厂类(一个)
public class Driver{
//测试类 , 欢迎暴发户出场......
public class Magnate{