繁体   English   中英

EJB 中的 Facades 与基于 Spring 的 Web 应用程序中的服务是否相同

[英]Are Facades in EJB the same thing as service in a spring-based web application

我参与了几个基于 Spring 的 web 应用程序的项目 - 并且自己写了一个数量。 通常我们有(粗略地说)以下文件夹来按类别划分我们的类,例如daomodelsweb (对于控制器,如果我们使用 Spring MVC 或用于 JSF 的支持 bean)以及服务- 在这里我们保留我们认为的业务 -逻辑(即使有时这里的类只是将方法转发给 dao)。

现在我面临着 EJB 应用程序的开发——我知道无论如何我都会有一些webmodel类。 此外,我可能会使用专用的dao层或将数据访问放入facades (我更喜欢专用文件夹,但它会增加冗长)。

但是我不清楚facades是否正是将业务逻辑放入其中的地方,或者我应该为其添加services文件夹并使用更像dao facades (消除dao本身)。

对于 EJB 应用程序体系结构提示的简短而全面的编译,我也很高兴。

我会使用 EJB 进行类似的设置,就像您使用 Spring 所做的那样。 你有你的 web 包(MVC 东西),然后是包含大多数业务逻辑的服务层,然后是包含基本 CRUD 操作和一些数据库查询的 DAO 层。

在这种情况下,您可以使用不需要数据库的快速单元测试来测试会话 bean 中可能复杂的业务逻辑,并且您可以在此处模拟 DAO 访问。 然后,您可以对 DAO 层进行相对简单的测试,因此需要数据库的测试数量(即速度相当慢)较少。

通常,我会称facade一组会话 bean,这些会话 bean 提供了通过 Web 服务等操作系统的简单方法。 这些 bean 将使用普通的服务层 bean。 只有一个 web 层而没有集成层,我认为没有理由创建额外的facade层。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM