私は通常、サブクラスによってクラスを継承することによってクラスを特殊化するか、クラスを分類する属性を定義することによってクラスを特殊化するかの選択を迫られる設計上の問題に出くわします。たとえば、車のコンポーネントのコレクションの場合、クラス (ホイール、タイヤ、ドアなど) を定義するか、"Type" という属性を持つ単一のクラス "CarComponent" を定義できます。さまざまなタイプの自動車コンポーネントをリストする列挙からの値。
これら 2 つのアプローチを比較するにはどうすればよいでしょうか。また、それぞれを推奨する設計パターンは何でしょうか?
ありがとう。