如题,在DAO写成接口的目的是为了在切换数据库时不用改变上层代码,但是现在用到了JPA,切换数据库只要换一个配置文件就可以了,还有必要写成接口吗?

解决方案 »

  1.   

    编码规范 
    你甚至可以不用MVC三层 
      

  2.   

    有多少人是真正正确地使用接口的?
    有多少人是先定义接口再写实现类的?
    有多少人的接口不是从实现类中拷贝过来的?
    有多少应用会在不同的数据库之间来回切换?最后说一句,我认为至少有超过半数的 Java 开发人员在滥用接口!
      

  3.   

    同意,<<Oracle编程艺术>>一书强烈建议不要去追求数据库独立性,因为DBMS的实现都是不一样的
      

  4.   

    dao层向上提供了以对象的方式操作数据表的服务,每个表基本都有一个dao实现,他们都有共同的动作(增删查改),为何不用接口,抽出他们的共性动作呢?
    换数据库的情况实际上真的不多,至少我还没有遇到过。