简单工厂模式:
简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
通俗一点理解就是,我们需要什么东西,就去工厂里面拿,工厂里面有的话就可以拿到,没有的话就拿不到,这里运用到了对象身上而已。
案列:工厂生产产品,我们需要什么产品,就去工厂获取对应的产品对象
代码实现:
定义一个产品接口:
public interface Product { void work(); }
定义两个实现类
// 手机类 public class Phone implements Product { @Override public void work() { System.out.println("手机在工作"); } }
// 电脑类 public class Computer implements Product { @Override public void work() { System.out.println("电脑在工作"); } }
工厂类:(给我们提供产品)
class ProductFactory { public static Product getProduct(String productName) { if ("phone".equals(productName)) { return new Phone(); } else if ("computer".equals(productName)) { return new Computer(); } return null; } }
测试:
public class Test1 { public static void main(String[] args) { // 产品使用者与被使用者的依赖关系太大 //Product phone = new Phone(); Product phone = ProductFactory.getProduct("phone"); if (phone != null) { phone.work(); } Product computer = ProductFactory.getProduct("computer"); if (computer != null) { computer.work(); } } }