Java EE最佳设计方法.业务逻辑层?

Cur*_*urt 2 spring hibernate java-ee

我正在使用的项目使用JSF + Spring + Hibernate.

这是一个我经常被混淆的设计问题.

我目前继承了一个包含dao - > service - > view - > controller"layered"方法的项目.

"控制器"层/层?目前拥有与前端交互的所有逻辑对象.有人告诉我,最好它分成两层/层,其中"Controller"层/层只包含与前端交互的方法/对象和包含所有业务逻辑的第二层(bm?)使用该控制器.

1).以这种方式划分控制器的目的是什么?

第二.)离开现在的方式有什么不对吗?

Sat*_*dey 5

1st.) What would the purpose be of dividing up the controller in such a way?

您必须处理业务逻辑Service Layer.将业务实体与Controller/UI Layer以下业务分开的好处:

  1. 您可以将业务实体与其他客户端部分一起使用.示例:如果您正在开发基于Web的应用程序作为UI,稍后您还开发了桌面UI.在这种情况下,您可以使用Business Layer多个UI 重用您的操作.您还可以使用业务层作为Web服务.
  2. 分离的业务操作更易于管理.如果开发团队的某个人不知道UI代码是如何工作的,并且只想纠正一些业务逻辑,他就可以做到.

2nd.) Is there anything wrong with leaving it the way it currently is?

如果您不熟悉分层架构,则需要一些时间来理解和实现所需的层.这取决于时间范围和应用要求.如果您计划在应用程序中使用上述要点,请使用分层体系结构,否则请使用当前实现.