当我最近阅读了很多关于端口和适配器架构的内容时,我偶然发现了这段代码,它是按照上述架构构建的应用程序的一部分:
package com.example.user.management;
import lombok.*;
import javax.persistence.*;
import java.io.Serializable;
@Table(name = "user")
@AllArgsConstructor
@Data
@NoArgsConstructor
@javax.persistence.Entity
@Setter
@Getter
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class User implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
@Column(name = "username")
private String username;
@Column(name = "password")
private String password;
@Column(name = "role")
private String role;
public User(String username, String password, String role) {
this.username = username;
this.password = password;
this.role = role;
}
}
由于端口和适配器架构的主要意图是将域层与任何技术细节和实现分开和隔离,并记住这个用户实体实际上是域层,它不包含对 java 的依赖持久性库?据我了解,域层仅负责实现用例。对于这种架构中的域层实际上应该是什么,我真的很困惑。