2010-08-09 41 views
1

我目前正在爲新應用程序開發域模型的過程中,並且已經到了需要定義與可能執行相同角色的不同類型的類的關係的階段,並且對定義關係的最佳方式感到困惑。域驅動設計 - 用於定義角色的接口

例如:

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

public class Person : IDriver, IPassenger 
{ 
} 

public class Pet : IPassenger 
{ 
} 

在這種情況下,我希望能夠定義一個汽車的潛水員可以是實現IDriver和任何乘客必須實現IPassenger任何類。在乘客的情況下,它可以與人或寵物在一起。接口本質上是定義每個類的角色。

我想了解的是,如果在人們的意見中這是一個好方法,或者如果使用不同的機制可以完成同樣的事情。

回答

0

很難與張貼在有關資料說...

開始與行爲,驗收測試或使用的情況。 (我不想從空氣中彌補場景。)

角色是協作對象之間的關係。例如對象B可能是對象A的依賴關係,監聽者或策略/策略。

所以,現在您需要從對象A的角度來設計,即Outside-in。例如Car對其司機有什麼期望?這些行爲將轉化爲駕駛員角色的成員。