ここでいくつかの概念の問題がありました。
各テーブルの検索ウィンドウを作成する必要がありました。このウィンドウは、コンボボックスの内容(検索するフィールドの名前)とグリッド列(結果)のみが異なります。
extjsの最良のアプローチは何ですか:
- ベースウィンドウを作成し、子クラスでコンボ列とグリッド列を定義します。
- ウィンドウごとに異なるクラスを作成しますか?
特に私は最初のオプションを好みますが、子クラスからこのプロパティを構成することに固執しています。
ここでいくつかの概念の問題がありました。
各テーブルの検索ウィンドウを作成する必要がありました。このウィンドウは、コンボボックスの内容(検索するフィールドの名前)とグリッド列(結果)のみが異なります。
extjsの最良のアプローチは何ですか:
特に私は最初のオプションを好みますが、子クラスからこのプロパティを構成することに固執しています。
ここでの答えは、おそらく、再利用可能なコードの量とカスタマイズする必要があるコードの量によって異なります。
そこに共通の再利用可能なコードの 70 ~ 80% を配置できれば、他のすべてが拡張する基本クラスを構築できます。次に、特定の各クラスがこの基本クラスを拡張し、残りをカスタマイズします。ウィンドウを構築するために initComponent から呼び出される一連の関数を作成することで、カスタマイズの容易さを向上させることができます。次に、各サブクラスは、ベースと区別するために必要な関数だけを上書きします。
再利用可能なコードの量が 90% 以上のようにはるかに多い場合は、次のように、単一のクラスを記述し、インスタンス化中に個々の構成オーバーライドを渡す方がよい場合があります。
Ext.create('MySearchView', { title:'My Custom title', fieldSelector:myComboConfig});
また、サンプル コードを参照すると、再利用の興味深いケースが見つかるかもしれません。