【问题标题】:Where to place joining classes?在哪里安排加入课程?
【发布时间】:2010-08-31 08:08:24
【问题描述】:

抽象示例:如果我有一个系统,其域为“Fleet”,包含“Vehicle”类,“Customers”包含“Driver”类,你会在哪里放置一个加入类(它将详细说明生命周期、保险索赔,以及有关关系的其他信息)?车队和客户的关注对系统同样重要,并且会从两个方向对关系提出看法。

Fleet.DriverHistory?

Customers.VehicleHistory?

MyVagueGeneralRelationshipNamespace.VehicleDriverHistory?

其他?

【问题讨论】:

    标签: namespaces domain-driven-design


    【解决方案1】:

    我认为它不需要是模糊的关系。从某种意义上说,车辆分配可能是“抽象的”,您无法触摸它们,但在商业意义上,它们是“真实的”,实际上它们几乎是开展业务的全部原因。所以我有一个域“出租”或类似的,它可以有你的两个历史。

    【讨论】:

    • 好的,所以系统中每个加入关系的另一个域。我明白你的意思,但这会变得很重要,不是吗?
    • 另外:我并不是说这种关系是模糊的,只是我的命名空间标签:)
    • 我认为这不是每个关系的域,而是每个概念。因此,租用车辆的驾驶员历史记录和租用我的车辆历史记录都是租赁域的一部分,甚至可能还包括发票和预订。但例如,汽车维修将是一个完全不同的领域。
    【解决方案2】:

    我认为独立于两个类的某种记录类绝对是要走的路,即

    MyVagueGeneralRelationshipNamespace.VehicleDriverHistory

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多