面试
简单工厂模式的核心思想是把对象的创建逻辑集中到一个工厂类里,调用方只需要告诉工厂"我要什么类型",工厂根据参数决 定创建哪个具体对象返回。
java
// 产品接口
public interface Database {
void connect();
}
// 具体产品
public class MySQL implements Database {
public void connect() {
System.out.println("连接 MySQL 数据库");
}
}
public class PostgreSQL implements Database {
public void connect() {
System.out.println("连接 PostgreSQL 数据库");
}
}
// 简单工厂
public class DatabaseFactory {
public static Database createDatabase(String type) {
switch (type) {
case "mysql":
return new MySQL();
case "postgresql":
return new PostgreSQL();
default:
throw new IllegalArgumentException("不支持的数据库类型: " + type);
}
}
}
// 客户端使用
Database db = DatabaseFactory.createDatabase("mysql");
db.connect();