【问题标题】:Domain Driven Design - Interfaces for defining roles领域驱动设计 - 定义角色的接口
【发布时间】:2010-11-02 19:49:05
【问题描述】:

我目前正在为新应用程序开发域模型,并且已经到了需要定义与可能执行相同角色的不同类型的类之间的关系的阶段,并且对最佳方法感到困惑定义关系。

例如:

public class Car
{
    public IDriver driver { get; set;}
    public IPassenger passenger { get; set; }
}

public class Person : IDriver, IPassenger
{
}

public class Pet : IPassenger
{
}

在这种情况下,我希望能够定义汽车的潜水员可以是实现 IDriver 的任何类,并且任何乘客都必须实现 IPassenger。在乘客的情况下,它可能与人或宠物在一起。接口本质上是定义每个类的角色。

我想了解的是,在人们看来这是一种好方法,还是可以使用不同的机制来完成同样的事情。

【问题讨论】:

    标签: domain-driven-design


    【解决方案1】:

    很难说问题中发布的信息......

    从行为开始、验收测试或使用场景。 (我不想凭空捏造一个场景。)

    角色是协作对象之间的关系。例如对象 B 可能是对象 A 的依赖项、侦听器或策略/策略。

    所以现在你需要从对象 A 的角度进行设计,即 Outside-in。例如Car 对司机有什么期望?这些行为将转化为驾驶员角色的成员。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      • 2011-10-06
      • 1970-01-01
      • 2011-10-13
      • 2011-02-04
      • 2017-06-06
      相关资源
      最近更新 更多