Java 架构 3 层对象设计

Java Architecture 3 tier object design

这是一个 Spring 引导 API 项目。我们目前有一个三阶段模型设计,我想知道这是否是企业最佳实践。例如,如果有人为所有汽车发出 GET 呼叫,那么 API 将:

  1. 调用数据库获取所有汽车并将它们存储在CarEntity中。这包含一些数据库信息,如添加日期、更新日期等
  2. 将实体转换为 Car 对象后传递给业务层。这会去除额外的数据库信息。
  3. Car 对象传递给控件,​​在转换为 CarDTO 对象后发送给客户端。

所以对于 1 个通用类型,我们有 3 个对象:CarEntityCarCarDTO。这是最有效的最佳做法吗?

这真的取决于您的要求和设计需要。

我设计简单的 Web 应用程序并且通常在所有三个层(持久性、业务和 Web)中使用相同的对象。

但在某些情况下,您可能需要多个 class。例如,如果您为远程客户端公开一个 class,创建一个新的 class 而不是重复使用持久层 class.

是有意义的

在 EE 界,他们喜欢强调 Separation of Concerns and SOLID pricipals。因此,您可能会争辩说,在长 运行 中,多个对象是最有效和最佳实践。对于我的使用,它们通常是冗长且混乱的项目。在某些情况下,它们是必要的。