Java 设计模式之简单工厂模式
概述
- 简单工厂模式并不属于经典的23种设计模式之一。它通常被视为工厂方法模式的一种简化形式,用于创建对象,但不具备工厂方法模式的灵活性。
UML
- Factory:工厂类,负责创建实例。
- IProduct:抽象产品类。
- Product:具体产品类。
代码实现
定义抽象产品类:
public abstract class Computer {
public abstract void start();
}
定义具体产品类:
public class LenovoComputer extends Computer {
@Override
public void start() {
System.out.println("联想开机了");
}
}
public class HpComputer extends Computer {
@Override
public void start() {
System.out.println("惠普开机了");
}
}
定义工厂类:
public class ComputerFactory {
public static Computer createComputer(String computer) {
if ("hp".equals(computer)) {
return new HpComputer();
} else if ("lenovo".equals(computer)) {
return new LenovoComputer();
} else {
return null;
}
}
}
使用:
public class Client {
public static void main(String[] args) {
Computer hp = ComputerFactory.createComputer("hp");
hp.start();
Computer lenovo = ComputerFactory.createComputer("lenovo");
lenovo.start();
}
}
输出:
惠普开机了
联想开机了