2017-05-31 79 views
0

这是一个Spring Boot API项目。我们目前有一个三阶段模型设计,我想知道这是否是企业最佳实践。例如,如果有人做了一个GET呼吁所有汽车则API将:Java架构3层对象设计

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

因此对于1分普通型,我们有3个对象:CarEntityCarCarDTO。这是最有效和最好的做法吗?

回答

1

这确实取决于您的要求和设计需求。我设计了简单的Web应用程序,并且通常在所有三层(持久性,商业和Web)中使用相同的对象。

但在某些情况下,您需要多个班级。例如,如果您为远程客户端公开一个类,那么创建一个新类而不是重用持久层类是有意义的。

在EE世界中,他们喜欢强调Separation of ConcernsSOLID pricipals。所以,你可以争辩说,从长远来看,多个对象是最有效率和最好的做法。对于我的使用,他们通常会啰嗦并且混淆项目。在某些情况下,它们是必要的。