Public class Action{
public void execute(){
ICustomerDao icdao= DaoFactory.getCustomDao();
cdao.login();
}
}
public class DaoFactory{
public static ICustomDao getCustomDao(){
return new CustomDao();
}
}
Public interface ICustomerDao{
public abstract boolean login();
}
public class CustomerDao implements ICustomerDao{
public Boolean login() {/*代码*/}
}
这样做的好处:Action与CustomDao有什么直接关系。如有另一个类,也只要实现
ICustomerDao接口。修改一个new CustomDao();
=======================================
Public class Action{
public void execute(){
ICustomerDao icdao= (ICustomerDao)BeanFactory.getBean(“别名”);
cdao.login();
}
}
public class BeanFactory{//框架化
public static ObjectgetBean(String aName){
String className= 根据别名读取的类名;
return Class.forName(className).newInstance();
}
}
上面aName是别名,className是类名
-------------设置配置文件,定义别名和类名的映射
在映射文件中只要修改类名,别名不变。
Public interface ICustomerDao{
public abstract boolean login();
}
public class CustomerDao implements ICustomerDao{
public Boolean login() {/*代码*/}
}