1.简单工厂模式:代替new产生对象,产品的类型比较少时。
我们要获得三种不同的数据库对象,如Mysql,SQLserver,Oracle,它们拥有共同的特征,即可以进行抽象,简单工厂目的是将获得具体数据库实体的任务交给工厂类。
接口DataBase:
public interfaceDataBase {public voidopen();public voidclose();
}
类Mysql:
public classMysql implements DataBase {
@Overridepublic voidopen() {
System.out.println("open mysql");
}
@Overridepublic voidclose() {
System.out.println("close mysql");
}
}
类Oracle:
public classOracle implements DataBase {
@Overridepublic voidopen() {
System.out.println("open Oracle");
}
@Overridepublic voidclose() {
System.out.println("close Oracle");
}
}
类SQLserver:
public classSQLServer implements DataBase {
@Overridepublic voidopen() {
System.out.println("open SQLServer");
}
@Overridepublic voidclose() {
System.out.println("close SQLServer");
}
}
工厂类及测试:
public classFactory {
publicDataBase getDataBase(String Type){if(Type == null){return null;
}if(Type.equalsIgnoreCase("MYSQL")){return newMysql();
}else if(Type.equalsIgnoreCase("ORACLE")){return newOracle();
}else if(Type.equalsIgnoreCase("SQLSERVER")){retu