在JavaEE中彼此层对话

时间:2014-02-07 11:28:34

标签: java-ee controller entity dao

有一个JavaEE应用程序,从下到上就这样分层:

  

实体 - >数据访问对象(DAO) - >控制器 - >门面

在这个架构中,Controllers应该如何相互交谈?他们可以调用彼此的方法,还是必须通过DAO层完成?

1 个答案:

答案 0 :(得分:1)

假设控制器代表您的业务层。

服务层中的EJB具有自己的层次结构是很常见的。在为客户端和UI提供更多通用功能作为API的同时,EJB可以为彼此提供细粒度的功能。所以,是的,同一层的对象可以相互通信,并且通常被设计为这样做。

其背后的基本原理是从内部功能中抽象外部API以及减少重复。

编辑:请不要在引入新依赖项时停止犹豫。在耦合,可测试性和架构一致性方面经常存在缺点。你永远不应该在同一层“从下面”使用一个层甚至一个对象 - 意味着从具有较低抽象的对象到具有较高抽象的对象。感觉不确定往往是暗示两次。