解决方案 »

  1.   

    在java里面这个没什么问题XXXInterface <-----------> XXXImpl
    getImpl() <----------->    getInterface()
      

  2.   

     适配器模式 adapter 
     主要是利用已经存在的类实现现有的功能,一种是适配器类继承现有的类调用继承的方法实现需要的功能 功能是一个接口。
     另一种是委托  这时候需要的功能是一个抽象类定义的,适配器聚合另一个已经存在的类 ,通过已经存在的类的方法实现功能。
     
    你说的其实就是适配器的一种实现方式委托,其实大家天天都在用。
      

  3.   

    两个类的相互引用是正常的,不需要刻意避免。但是需要注意的是,如果这两个类对应于数据库表的时候,要避免表的相互引用。另外,如果用到了@Inject,则互相注入是可能会有问题的。