以下のクラスは、プライベートクラスフィールドの「ダウングレード」(より良い単語がないため)の奇妙な表現ですか?コレクションとリスト
public class AggregatedClass : ICollection<SingleClass>
{
List<SingleClass> _singleClassList;
// ...rest of code
}
私は最近、この「実用的な」例を見て、少しループしました。上記のポイントは何ですか? List<T>
がICollection<T>
を実装する場合、上記のクラスは逆転ではありませんか?あなたは、そのクラスの親クラスの実装(ICollection<T>
)の拡張です型クラスのプライベートクラスフィールドを持っている。
上記の例が本当に素晴らしいデザインではないと言うのは正確ですか?
さて、まだデータを保持するデータ構造が必要ですか? ICollectionなどのリストまたは配列になります。リストは、ICollection を実装するのがかなり簡単になります。 –
hawkke
@hawkke "リストは、IColleciton を実装するのをかなり簡単にします。"List "がICollectionを実際に実装しているというだけのことですか?? –
それは冗長でしょうか?_singleClassListがpublicプロパティである可能性があるという議論をすることができます。 – hawkke