简单工厂模式
简单工厂模式:
简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
通俗一点理解就是,我们需要什么东西,就去工厂里面拿,工厂里面有的话就可以拿到,没有的话就拿不到,这里运用到了对象身上而已。
案列:工厂生产产品,我们需要什么产品,就去工厂获取对应的产品对象
代码实现:
定义一个产品接口:
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();
}
}
}