请教大家,谢谢!

解决方案 »

  1.   

    工厂模式提供了统一的获取组件实例的功能,使得调用端可以和实例的创建、选用何种实例、如何创建等步骤相分离。
    dao是组件,因此使用工厂负责dao的创建的好处,答案就等于使用工厂模式的好处(百度、谷歌“工厂模式 好处”)。
    答的不好,搬个板凳学习楼下。
      

  2.   

    让你系统带来更大的可扩展性和尽量少的修改量。比如你写了个应用,里面用到了数据库的封装,你的应用可以今后需要在不同的数据库环境下运行,可能是oracle,db2,sql server等,那么连接数据库的代码是不一样的,你用传统的方法,就不得不进行代码修改来适应不同的环境,非常麻烦,但是如果你采用工厂类的话,将各种可能的数据库连接全部实现在工厂类里面,通过你配置文件的修改来达到连接的是不同的数据库,那么你今后做迁移的时候代码就不用进行修改了。
      

  3.   

    可扩展,便修改,解耦  去GOOGLE
      

  4.   


    主要是为了能够给出不同实现版本的DAO
    比如,一开始在oracle开发 之后 需要迁移到DB2 。。对于有DAO层的应用 其只要重新实现一个DB2版本的DAOimpl 然后让Factory改用生产 DB2版本的就行了
      

  5.   

    我倒觉得dao层构建在dbutil层之上,dbutil才是分离数据库差异区别的地方。
      

  6.   


    通过接口可以给不同的实现类 调用工程返回实现接口的对象 调用不同实现类的方法(不同的SQL实现) 这是用工厂的一个目的 不过 这种情况还是比较少的.. 重点是统一的获取组件实例
      

  7.   

    才想起来,有些欠考虑了,不同数据库某些sql语句也会不同,不仅仅是建立连接这一层,dao层确实难免要去应付不同数据库的差异而提供更多实现。
      

  8.   

    工厂模式提供了统一的获取组件实例的功能,使得调用端可以和实例的创建、选用何种实例、如何创建等步骤相分离。 
    dao是组件,因此使用工厂负责dao的创建的好处,答案就等于使用工厂模式的好处(百度、谷歌“工厂模式 好处”)。 
    答的不好,搬个板凳学习楼下。