ArrivalAndDepartureinformation

ArrivalAndDepartureinformation

在创建聚合时,我们应该在聚合内创建值对象,还是应该将已经创建的值对象传递给ctor或factory。

 public Booking(DateTime arrivalDate, DateTime departureDate)
 {
      this.ArrivalAndDepartureinformation = new ArrivalAndDepartureInfo(arrivalDate, departureDate);
 }

或者
 public Booking(ArrivalAndDepartureinformation arrivalAndDepartureInfo)
 {
            this.ArrivalAndDepartureinformation = arrivalAndDepartureInfo;
 }

最佳答案


  • 如果我们谈论将参数传递给构造函数,则取决于如何使用参数。可能存在一些基础结构限制,可能需要使用原始类型。
  • 如果我们谈论将参数传递给方法,那么Value Objects是我的选择的100%。

  • 通常,我会说最好将值对象传递到您的集合中。

    值对象可以:
  • 使您的语言模型更具表现力
  • 带来安全类型
  • 封装验证规则
  • 自己的行为
  • 10-08 16:15