2016-05-22 3 views
0

私は2つのクラス、LineItemとReceivedLineItemを持っています。広告申込情報は複数回受信できます。たとえば、ユーザーは5ラップトップ(ラップトップは広告申込情報)を注文し、毎週ユーザーは1ラップを受信します。この場合、私はReceivedLineItemと一緒に行かなければなりませんLineItemかLineItemは複数の受信した広告申込情報を持っていますか?このシナリオでは、ReceivedLineItemクラスの継承またはコンポジションを使用する必要がありますか?

public class LineItem 
{ 
    public int LineItemID { get; set; } 
    public int QuantityOrdered { get; set; } 

    //public List<ReceivedLineItem> ReceivedLineItems { get; set; } 

} 

public class ReceivedLineItem: //LineItem 
{ 
    public int ReceivedLineItemID { get; set; } 
    public int QuantityReceived { get; set; } 

} 

答えて

1

ReceivedLineItem IS LineItemは良い選択です。次に、QuantityReceivedプロパティが必要です。 LineItem HAS ReceivedLineItemは、発注と受信の間に時間があるため、適切な設計選択ではない場合があります。したがって、後で情報を受け取ることについて考える必要はありません。注文は、出荷/受領することなく発注し、取り消すことができます。

public class LineItem 
    { 
     public int LineItemID { get; set; } 
     public int QuantityOrdered { get; set; } 
    } 

    public class ReceivedLineItem : LineItem 
    { 
     public int QuantityReceived { get; set; } 
    } 

    // execution code somewhere.. 
     ... 
     public List<ReceivedLineItem> Items { get; set; } 
関連する問題