简单来说,工厂模式就是按照需求来返回一个类型的对象,使用工厂模式的意义就是,如果对象的实例化与代码依赖太大的话,不方便进行扩展和维护,使用工厂的目的就是使对象的实例化与主程序代码就行解耦.
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.总结
简单工厂模式, 总结起来就是一个工厂类,一个产品接口(其实也可以是一个抽象类,甚至一个普通的父类)和一群实现了产品接口的具体产品,而这个工厂类,根据传入的参数去创造一个具体的实现类,并向上转型为接口作为结果返回。