简单工厂模式学习

简单工厂模式

简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。

// 测试类,包含main方法
public class FactoryPattern {

	public static void main(String[] args) {
		// 不使用工厂模式时,使用者和被使用者之间耦合,产生了依赖,
		// 当被使用这改变时,会影响使用者。使用工厂模式来降低两者之间的依赖。
		Product phone = new Phone();
		phone.work();

		// 当增加工厂类时,现在我们调用方式变了,通过新增工厂类,降低了使用者和被使用者之间的依赖
		Product phone1 = ProductFactory.getProduct("phone");
		if (null != phone1) {
			phone1.work();
		}
	}
}

// 接口定义了产品应具有工作的行为
interface Product {
	public void work();
}

// 实现类一
class Phone implements Product {
	@Override
	public void work() {
		System.out.println("手机工作");
	}
}

// 实现类二
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();
		} else {
			return null;
		}
	}
}
原文地址:https://www.cnblogs.com/zxfei/p/10850673.html