java的设计模式——DAO(Date Access Object)133

来源:互联网 发布:编程英语词汇大全app 编辑:程序博客网 时间:2024/06/05 08:55

其实就是一个把它分成一层一层的那种思想,就跟身份证号码一样,前几位表示省,接着是市、县...最终可以唯一找到你,利用这种思想组后也就可以给接口适应的实现类

public interface DepDAO {   public void create(String userId,String name);}

public class DepDAOF1Factory {//工厂类   private DepDAOF1Factory(){   }   //工厂方法   public static DepDAO getDepDAO(){   //type的取值方式可以如:14 06 401 ** ---- 每一段用于一层工厂   int type=1;//该参数值以后是可以通过配置文件读取,用户根据自己机器的dao实现需求来配置该type的值   if(type==1){//选择a机器   return DepDAOAF2Factory.getDepDAO();   }else if(type==2){//选择b机器  ---如果只有两种机器,那么这里直接用else   return DepDAOBF2Factory.getDepDAO();   }else{//其它类型的机器   return null;   }      }}

public class DepDAOAF2Factory {private DepDAOAF2Factory(){}   //工厂方法   public static DepDAO getDepDAO(){   int type=3;   if(type==1){   //...   }else if(type==2){   //...   }else if(type==3){  return DepDAO_A_RDF_F3Factory.getDepDAO();   }      return null;   }}
public class DepDAO_A_RDF_F3Factory {private DepDAO_A_RDF_F3Factory() {}public static DepDAO getDepDAO(){int type=2;if(type==1){//...}else if(type==2){return DepDAO_A_RDF_ORacle_F4Factory.getDepDAO();}return null;}}
public class DepDAO_A_RDF_ORacle_F4Factory {private DepDAO_A_RDF_ORacle_F4Factory() {}public static DepDAO getDepDAO(){int type=1;if(type==1){return new DepDAOImplHibernate();}else if(type==2){return new DepDAOImplJdbc();}else{return null;}}}
<pre name="code" class="java">public class DepDAOImplJdbc implements DepDAO{@Overridepublic void create(String userId, String name) {System.out.println("1111111111111111");}}


public class DepDAOImplHibernate implements DepDAO{@Overridepublic void create(String userId, String name) {System.out.println("2222222222222");}}



0 0
原创粉丝点击