根据单一职责原则,专门的类用来实例化对象。我们习惯把这种类叫做工厂。
public interface Ihelper {
void open();
void close();
}
public class ORACLEHelper implements Ihelper{
@Override
public void open() {
System.out.println("ORACLEHelper open.....");
}
@Override
public void close() {
System.out.println("ORACLEHelper close.....");
}
}
public class SQLHelper implements Ihelper{
@Override
public void open() {
System.out.println("SQL open.....");
}
@Override
public void close() {
System.out.println("SQL close....");
}
}
public interface IFactory {
public Ihelper create(int i);
}
public class Factory implements IFactory{
@Override
public Ihelper create(int i) {
if(i == 0)
return new SQLHelper();
else
return new ORACLEHelper();
}
}
public static void main(String[] args) {
Factory f = new Factory();
Ihelper i = f.create(0);
i.open();
}
工厂类的优点是:
利于管理
低耦合
缺点是:
违反开闭原则