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() {/*代码*/}
}
本文通过两个示例对比了依赖注入与直接实例化对象的方法,介绍了如何使用工厂模式和依赖注入来降低代码间的耦合度,并展示了配置文件在依赖管理中的应用。
5044

被折叠的 条评论
为什么被折叠?



