DTO | 数据传输对象。通常只包含属性和 getter/setter 方法,没有任何业务逻辑。 | 用于在应用程序的不同层之间传输数据 | 不可变。 | service controller dao |
VM | 视图模型。通常用不可变对象的如 record 来表示。 | 映射视图中的数据,实现视图和模型之间的解耦。 | 不可变 | controller |
Entity | 实体对象。通常包含实体的属性和行为,但不包含复杂的业务逻辑 | 表示业务领域中的实体或对象,例如用户、订单、商品等。属于领域模型中的一部分。通常由数据访问层创建和管理。 | 有独立的生命周期 | dao |
Vo | 值对象。一种不可变的对象,它的值在创建后不会发生变化。不包含业务逻辑和复杂的计算。 | 一个独立的类,不直接依赖于业务逻辑或数据访问层;通常由领域模型或服务层创建和管理,用于表示一些简单的值。 | 没有独立的生命周期。 需要定义 equals 方法。 | service |
DO(Domain Object) | 领域模型。通常持有多个类成员如实体、值对象等构成领域业务的成员,并包含实现业务逻辑的复杂方法。 | 用于表示特定领域的业务概念和规则,封装应用程序的业务逻辑和行为。 | 有独立的生命周期。其持有的值对象的生命周期依赖于领域模型的生命周期。 | service |