【发布时间】:2020-11-08 11:49:25
【问题描述】:
我是 DDD 域驱动开发 实施的新手。我从网上查看了一些项目的源代码,他们使用 DDD 模式实现了这些源代码。在项目结构中,我找到了 DTO 以及 Commands。我需要了解这两者之间有什么区别?是不是代码重复?
以下是项目中存在的 DTO 和 Command 的两个示例类。
public class BookCargoCommand {
private String bookingId;
private int bookingAmount;
private String originLocation;
private String destLocation;
private Date destArrivalDeadline;
public BookCargoCommand(){}
public BookCargoCommand(int bookingAmount,
String originLocation, String destLocation, Date destArrivalDeadline){
this.bookingAmount = bookingAmount;
this.originLocation = originLocation;
this.destLocation = destLocation;
this.destArrivalDeadline = destArrivalDeadline;
}
public void setBookingId(String bookingId){ this.bookingId = bookingId; }
public String getBookingId(){return this.bookingId;}
public void setBookingAmount(int bookingAmount){
this.bookingAmount = bookingAmount;
}
public int getBookingAmount(){
return this.bookingAmount;
}
public String getOriginLocation() {return originLocation; }
public void setOriginLocation(String originLocation) {this.originLocation = originLocation; }
public String getDestLocation() { return destLocation; }
public void setDestLocation(String destLocation) { this.destLocation = destLocation; }
public Date getDestArrivalDeadline() { return destArrivalDeadline; }
public void setDestArrivalDeadline(Date destArrivalDeadline) { this.destArrivalDeadline = destArrivalDeadline; }
}
和
public class BookCargoResource {
private int bookingAmount;
private String originLocation;
private String destLocation;
private LocalDate destArrivalDeadline;
public BookCargoResource(){}
public BookCargoResource(int bookingAmount,
String originLocation, String destLocation, LocalDate destArrivalDeadline){
this.bookingAmount = bookingAmount;
this.originLocation = originLocation;
this.destLocation = destLocation;
this.destArrivalDeadline = destArrivalDeadline;
}
public void setBookingAmount(int bookingAmount){
this.bookingAmount = bookingAmount;
}
public int getBookingAmount(){
return this.bookingAmount;
}
public String getOriginLocation() {return originLocation; }
public void setOriginLocation(String originLocation) {this.originLocation = originLocation; }
public String getDestLocation() { return destLocation; }
public void setDestLocation(String destLocation) { this.destLocation = destLocation; }
public LocalDate getDestArrivalDeadline() { return destArrivalDeadline; }
public void setDestArrivalDeadline(LocalDate destArrivalDeadline) { this.destArrivalDeadline = destArrivalDeadline; }
}
注意:因为我找不到确切的问题,所以我把它放了。如果 StackOverflow 中存在类似问题,请告诉我。
【问题讨论】:
标签: command domain-driven-design dto