じゃあちょっとだけ。
継承の組み合わせで大量にクラスが増えそうな場合、
継承を使わずに、全ての要素を重ね合わせた基本クラスを用意し、
注文によって必要な機能を持った任意のオブジェクトの生成を行う。