欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设计模式(一)简单工厂设计模式

程序员文章站 2024-01-21 20:27:16
...

此设计模式为创造型 设计模式
主要涉及到 要创建的对象 都具有相同的特性 。
优点:
1、一个调用者想创建一个对象,只要知道其名称就可以了。 2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。 3、屏蔽产品的具体实现,调用者只关心产品的接口。

应用实例:
1、您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个汽车里面的具体实现。 2、Hibernate 换数据库只需换方言和驱动就可以。

代码实现:

Car.class 产品的接口类

package com.simpleFactory;

public interface Car {

    void drive();
}

奥迪的实例类

package com.simpleFactory;

public class Aodi implements Car{


    @Override
    public void drive() {
        System.out.println("奥迪开车");
    }
}

宝马的实例类

package com.simpleFactory;

public class BaoMa implements Car {

    @Override
    public void drive() {
        System.out.println("宝马开车");
    }
}

奔驰的实例类

package com.simpleFactory;

public class BenChi implements Car{
    @Override
    public void drive() {
        System.out.println("奔驰开车");
    }
}

汽车的实例工厂类

package com.simpleFactory;

public class CarFactory {


    public static Car getInstance(String instanceName){
        if("baoma".equals(instanceName)){
            return new BaoMa();
        }else if("aodi".equals(instanceName)){
            return new Aodi();
        }else if ("benchi".equals(instanceName)){
            return new BenChi();
        }
        return null;
    }


}

测试类

package com.simpleFactory;

public class Test {

    public static void main(String[] args) {
        Car car = CarFactory.getInstance("benchi");
        car.drive();

    }
}

这种设计模式 很简单 我将它实际运用到了项目中 用来制作图表