私は、vb.netプログラミングの経験のかなり早い段階で、実際に作成する必要のある別のクラスから継承したクラスを作成しました。基本クラスは、比較的一般的なネストされた辞書ベースのコレクションです。子孫クラスを「車」と呼びましょう。
現在、「MyCar!Color.st = "Red"」のようなことを行うコードがたくさんあります(VB6で記述されたコードとのデータ交換を容易にし、車の比較を容易にするために、実際のプロパティではなく汎用コレクションを使用します。 3台の車X、Y、Zが与えられた場合、たとえばXとYの間の変更を検出し、それらの変更をZに適用できます。
継承ではなく構成を使用するようにコードをリファクタリングする良い方法はありますか?「Car」オブジェクトはどのプロパティ/メソッドをラップする必要があり、どのプロパティ/メソッドにデータオブジェクトプロパティを介してアクセスする必要がありますか?車とコレクションオブジェクトの間で拡大変換を定義する必要がありますか?このようなリファクタリングを行う際の落とし穴はありますか?