tik*_*hop 3 oop design-patterns domain-driven-design
假设我有一个Passenger应该包含Passport(government id) 对象的对象。我Passenger从PassengerRepository. PassengerRepository创建对服务器的请求并获取数据(json),然后解析接收到的数据并存储在存储库中。
我很困惑,因为我想将其存储Passport为实体并将其放入,PassportRepository但所有有关密码的信息都包含在 json 中,而不是我在上面收到的。
我想我应该将其Passport用作 VO 并将其放入Passenger(聚合)对象中。或者我可以创建一个PassengerService包含PassengerRepository和PassportRepository。
有任何想法吗?
值对象是由它们的属性定义的对象——具有相同属性值的两个实例本质上是相同的值。如果这适合您的Passport类型,那么它应该是 VO。
如果它确实是一个 VO,那么你就被排序了——它只能通过聚合来访问。
但是,如果情况并非如此,并且您的域中的护照具有保持不变的身份,而不管属性如何更改(例如,某人更改了他们的姓名),那么您需要考虑在您的域中是否Passport仅执行实体附加到 aPerson或不附加时才有意义。如果它们只在这种情况下有意义,那么它们也应该只能通过聚合来访问。
| 归档时间: |
|
| 查看次数: |
761 次 |
| 最近记录: |