私は非常に困難な時間を、典型的には3〜5個の小さなモジュールまたはクラスで構成されていると書いています。この問題は、これらのサブコンポーネントを拡張する必要がある場合に発生しますが、メインモジュールはすでにベースバージョンを作成して実装しています。複数コンポーネントクラス用のOOP
例
// main module design
class Car {
constructor() {
this.horn = new Horn();
this.horn.on('honk', function() {
console.log('honked');
})
}
}
class Horn {
constructor() {
this.sound = 'hornA.wav'
}
}
// extended module design
class RaceCar extends Car {
constructor() {
super();
this.horn = new RaceHorn();
// event handler is now missing
}
}
class RaceHorn extends Horn {
constructor() {
super();
this.horn = 'hornB.wav'
}
}
私の本当の問題は、より多くのコンポーネントと多くのセットアップ要件とモジュールを必要とする一方で、これは確かに非常に単純化された例です。 init
またはsetup
またはそれに類する機能に別のものを入れることができると私は理解していますが、私にとっては本質的に間違っているようです。
継承を構成する手段として使用しないでください。 RaceCarは本当にちょうど別のホーンで設定されたCarインスタンスでなければなりません。すべてが工場で行われています。 – plalx
あなたはおそらく異なったホーンを必要としないでしょう、ちょうど再生するサウンドファイル名のパラメータを与えてください。 – Bergi