我的理解:
1.首先使用接口,将方法的声明与实现分离,易于维护和使用
2.Remote 接口是Bean 的声明,客户端代码与Remote 接口联系而不直接调用Bean
3.Home接口 ,客户端代码使用HOme 接口生成EJB对象

解决方案 »

  1.   

    Home接口里通常定义的一般是一些与EJB对象的生命周期相关的方法(比如:一些create、find、remove方法等)
    Remote接口里通常定义的是一些business method
    Bean类是这些接口方法的实现
      

  2.   

    说百了Home接口是让Containter创建EJB对象,Remote接口只是告诉客户端此EJB对象有哪些方法可调用。
      

  3.   

    Home接口定义bean的生命周期,可以是程序员编写,也可以由容器自动实现;
    Remote接口定义了business method的方法名;
    容器根据Home接口,Remote接口,Bean类生成本地接口和EJB对象。
    客户端通过创建本地接口,用本地接口创建远程接口,然后调用远程接口中的方法来实现一次对ejb方法的调用。
      

  4.   

    不知道你是否清楚设计模式中的"工厂模式"(具体术语我也记不住了)。按照我的理解是:对于客户端来说,一个home接口实际上就是其所属的EJB的一个工厂,你可以通过这个工厂来得到EJB(得到的实际上是一个EJB实例的stub),stub也实现了该EJB的remote接口,它对应着服务器上的一个EJB实例,可以说它是该实例的一个引用吧,客户端对该实例的各种方法的使用都是通过这个stub来发送到服务器端的,然后由容器调用相应的EJB的实例的方法,之后再把结果发送给stub,stub再把结果反序列化后给客户应用程序,至于为什么要采用这种机制你可以看看相关资料,关于RMI-IIOP和serializable方面的
      

  5.   

    weixia(wx)说得是factory method吧