6
継承を使用してコードを再利用する場合、再利用の利点を飲み込むのが難しいと思いませんか?
私は約8年間コーディングを行ってきましたが、継承は柔軟性が高すぎるため、作成したコードと完全に混同されることがあります。最も簡単な例は次のとおりです。 abstract class AClass { protected void method1() { if(check()) { do1(); } else { do2(); } } protected abstract void do1(); protected abstract void do2(); } クラスの目的は、do1()とdo2()を実装してさらにロジックを実行できるようにすることですが、method1()をオーバーロードすることを決定すると、状況はすぐに複雑になります。 私は戦略パターンでのみコードを見つけます。コードは継承を通じてよく再利用されます。ほとんどの場合、基本クラスの設計者はそのサブクラスを非常によく知っており、その継承は完全にオプションです。 IoHandlerの4つのクラスによって継承されるクラスがあり、サーバーサイド、クライアントサイド、エッジサーバー、オリジンサーバーのサブクラスであり、私を狂わせ始めています。私はいつもコードのリファクタリングをしていました。うまくいくと思うアイデアを思いついたのですが、うまくいかなかったのです。人間の脳は一度に7つの情報しか保持できないと言われています。