VB 2008 .NET 3.5
ある種のオンライン注文システムを表す Order と OrderItem という 2 つのクラスがあるとします。OrderItem は、Order 内の単一の項目を表します。1 つの Order には、List(of OrderItem) の形式で複数の OrderItem を含めることができます。
Public Class Order
Public Property MyOrderItems() as List(of OrderItem)
End Property
End Class
OrderItem が Order なしでは存在しないことは理にかなっています。言い換えると、OrderItem クラスはそれ自体でインスタンス化できるべきではなく、それを含んでインスタンス化するために Order クラスに依存する必要があります。ただし、OrderItem のプロパティは他のオブジェクトからアクセスできるように、スコープ内でパブリックにする必要があります。したがって、OrderItem の要件は次のとおりです。
Order クラスによってのみインスタンス化できます。
他のオブジェクトが Order オブジェクトを介してそのプロパティ/メソッドにアクセスできるようにするには、パブリックにする必要があります。例: Order.OrderItem(0).ProductID.
OrderItem は、それを操作する他のサブ/関数に渡すことができる必要があります。
これらの目標を達成するにはどうすればよいですか? より良いアプローチはありますか?