首页 > 技术文章 > 设计模式之简单工厂模式

cbxBlog 2018-05-31 20:47 原文

简单来说,工厂模式就是按照需求来返回一个类型的对象,使用工厂模式的意义就是,如果对象的实例化与代码依赖太大的话,不方便进行扩展和维护,使用工厂的目的就是使对象的实例化与主程序代码就行解耦.

1. 简单工厂模式简介
简单工厂模式(Simple Factory),又被称为"静态工厂方法模式"。它属于"创建模式"(创建对象的模式),并且是"工厂方法"模式的一种特殊实现。

工厂:工厂是简单工厂模式的核心,提供了对外接口。客户端或其它程序要获取Product对象,都是通过Factory的接口来获取的。

抽象产品:抽象产品是(许多)不同产品抽象出来的。Product可以是接口或者抽象类。

具体产品:工厂中返回的产品对象。

2. 简单工厂模式代码

 

public interface Car {
    public void run();
}
public class Audi implements Car{
    @Override
    public void run() {
        System.out.println("奥迪在跑!");
    }
}
public class Byd implements Car{
    @Override
    public void run() {
        System.out.println("比亚迪再跑");
    }
}
public class CarFactory {

    public static Car createCar(String type){
        if("奥迪".equals(type)){
            return  new Audi();
        }else if("比亚迪".equals(type)){
            return new Byd();
        }else{
            return null;
        }
    }
}
/**
 * Created by chengbx on 2018/5/30.
 * 简单工厂模式
 */
public class ClientFactory {
    @Test
    public  void test(){
       Car audi = CarFactory.createCar("奥迪");
       Car byd = CarFactory.createCar("比亚迪");
       audi.run();
       byd.run();
    }
}

3.总结

简单工厂模式, 总结起来就是一个工厂类,一个产品接口(其实也可以是一个抽象类,甚至一个普通的父类)和一群实现了产品接口的具体产品,而这个工厂类,根据传入的参数去创造一个具体的实现类,并向上转型为接口作为结果返回。

 

推荐阅读