全部博文(19)
分类: Java
2011-11-09 15:56:00
package com;
public class DaoFactory {
public BaseDAO creatFactory(String type)
{
if("Mysql".equals(type))
{
return new MysqlDAO();
}
else if("MsSql2000".equals(type))
{
return new MsSql2000DAO();
}
return null;
}
}
3.产品interface接口
package com;
public interface BaseDAO {
/**
* 保存数据
*/
public void save();
/**
* 删除数据
*/
public void delete();
/**
* 更新数据
*/
public void update();
}
4.产品实现类
package com;
public class MsSql2000DAO implements BaseDAO {
@Override
public void save() {
// TODO Auto-generated method stub
System.out.println("MsSql200保存数据");
}
@Override
public void delete() {
// TODO Auto-generated method stub
System.out.println("MsSql200删除数据");
}
@Override
public void update() {
// TODO Auto-generated method stub
System.out.println("MsSql200更新数据");
}
}
package com;
public class MysqlDAO implements BaseDAO {
@Override
public void save() {
// TODO Auto-generated method stub
System.out.println("Mysql保存数据");
}
@Override
public void delete() {
// TODO Auto-generated method stub
System.out.println("Mysql删除数据");
}
@Override
public void update() {
// TODO Auto-generated method stub
System.out.println("Mysql更新数据");
}
}
5.总结
(1)所谓工厂模式即在构造一个工厂类,该类的一个方法来实例化具体产品(有点像switch-case模式),这些产品一般具有相同的方法,比如实现interface和abstract类
(2)应用场景:批量处理具有相似方法的类和对象的情况