私は最近、主にthe article Real Mixins with javascript classesを介してjavascriptでMixinのコンセプトを見ました。私が理解しているように、抽象クラスで複数の継承を行う方法は継承よりも構図に似ています。私はまた、the article Composition Over Inheritanceのように、継承を超えたコンセプト構成についても読んでいます。私は、継承と構成についての議論は非常に長くなる可能性があることを認識していますが、私はできるだけ継承を避けることを選択しました(少なくとも今のところは)。あらゆる種類の継承にMixinsを使用するには?
私はES6でできる限り多くのミックスインを使用したいと思います。ほとんどの例では、3つのクラスがclass A extends MixinB(C)
のように表示されています。クラスBのみを拡張したいのですが? class A extends MixinB(Object)
のようなことをしますか?これは、Mozilla documentation州のような反パターンかもしれません。
私はclass A extends B
のような直接の継承を行うことができますが、このB
のように、もはやミックスインではないと私はミックスインとしてそれを使用したい場合、私はB
の異なる宣言が必要になります。
"継承は必ずしも正しいパターンではありません"とは、以前に継承したすべての場所で学んだこの新しいことです。 – Ryan
JavaScriptが完全に間違っているブロガーがいることに注意してください。 https://www.reddit.com/r/programming/comments/5dxq6i/composition_over_inheritance/da8bplv/。ミックスインと複数の継承は確かに同じものですが、どちらも合成ではありません。 –
>これは、Mozillaのマニュアルの状態と同様に反パターンかもしれません。 | MDNのドキュメントでは、サルのパッチについて話しています。これは本当に悪いですが、サルのパッチは 'クラスが拡張するものではありません。 –