1、模式理解:说简单点逻辑就跟if else是一样的效果,就是根据不同的条件处理不同的事务
2、运用场景:就是一个开关,同过开关来创建对象,省去自己写,简化前台
3、代码示例:数据库选择示例
2、运用场景:就是一个开关,同过开关来创建对象,省去自己写,简化前台
3、代码示例:数据库选择示例
//先定义一个创建数据库的接口:
public interface IDataBase {
void createDataBase();
}
//接着创建数据库对象并实现该接口:
public class Oracle implements IDataBase{
@Override
public void createDataBase() {
System.out.println("创建oracle数据库");
}
}
public class Mysql implements IDataBase{
@Override
public void createDataBase() {
System.out.println("创建MySQL数据库");
}
}
//再创建工厂:
public class DBFactory {
public IDataBase createDataBase(String type){
//根据不同的传入条件创建不同的数据库对象
if (type.equalsIgnoreCase("ORACLE")) {
return new Oracle();
}
if (type.equalsIgnoreCase("MYSQL")) {
return new Mysql();
}
return null;
}
}
//最后创建个主类来测试一下工厂的效果:
public class Main {
public static void main(String[] args) {
DBFactory dbFactory=new DBFactory();
dbFactory.createDataBase("oracle").createDataBase();
dbFactory.createDataBase("mysql").createDataBase();
}
}