問題タブ [extend]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
738 参照

model-view-controller - 関心の分離を説明して、データ構造がそれ自体を描画してはならないことを誰かに説明するにはどうすればよいですか?

UIコンポーネントがデータ構造であってはならない理由を説明しようとしている別のプログラマーがいます。

たとえば、「データベース」からレコード セットを含むデータ構造を取得し、そのレコード セットをアプリケーション内の UI コンポーネントに表示したいとします。

このプログラマー (彼は無名のままで、彼は若く、私は彼に教えています...) によると、アプリケーション内で UI コンポーネントを描画するクラスにデータ構造をサブクラス化する必要があります!!!!!!

したがって、このロジックに従って、レコード セットは UI の描画を管理する必要があります。

******ヘッドデスク*****

UI 上の複数の種類のコンポーネントで同じデータ構造をレンダリングしたい場合、レコードセット自体に描画を要求するのは間違っていることはわかっています。レコード セットの基本クラスからレンダリングするすべての UI コンポーネントに対して、さらに別のクラスを拡張する必要があります。

私は、MVC パターンの「クリーンさ」を十分に認識しています (つまり、データ (モデル) を UI (ビュー) またはその上で行われるアクションと混同しないということです)。 data (コントローラーは多かれ少なかれ...まあ、実際にはAPIが実際にそれを処理する必要はありません...そして、コントローラーはできる限り少ない呼び出しを行い、どのビューをレンダリングするかを伝えます))しかし、それは確かにかなりきれいですデータ構造を使用して UI コンポーネントをレンダリングするよりも!

上記の例以外に、彼に送ることができる他のアドバイスはありますか? OOP を初めて学ぶときは、すべてを拡張したいという「段階」を通過することを理解しています。

デザインパターンがすべての問題の解決策であると考える段階が続きます...これも完全に正しいわけではありません...ジェフに感謝します。

この子をそっと正しい方向に向ける方法はありますか? 私の言いたいことを彼に説明するのに役立つ例は他にありますか?

0 投票する
1 に答える
1799 参照

ruby-on-rails - レール。コントローラーファイルを変更せずにプラグインからコントローラークラスを拡張する方法は?

Rails 2.2.2 を使用しています。Railsマニュアルによると、プラグインからコントローラーを拡張する方法は次のとおりです。

プラグイン:

app/controller/name_controller.rb

終わり

質問:コントローラー名がわかっている場合、コントローラーファイルを変更せずに、プラグインからコントローラーを拡張する方法はありますか?

0 投票する
2 に答える
619 参照

django - djangoでユーザーモデルを拡張した後、ModelFormをどのように作成しますか?

djangoのユーザーモデルを拡張して、場所や雇用者など、他のいくつかの変数を含めました。今、私は次のフィールドを持つフォームを作成しようとしています:

モデルフォームを作成しました:

それで、私の質問は、ユーザーモデルまたはUserProfileモデルのどちらからのものであるかにかかわらず、すべてのフィールドにアクセスできるModelFormを作成するにはどうすればよいですか?

これが理にかなっていることを願っています。ご不明な点がございましたら、お気軽にお問い合わせください。

0 投票する
2 に答える
411 参照

linq - エンティティの1つのコレクションのみに固有のセットベースのヘルパー操作でLinqデータコンテキストを拡張するための規則は何ですか?

私はここで漠然としているかもしれませんが、次のようなことができるように、セットベースのヘルパー操作をlinqに配置するのに最適な場所を探しています。

次のようなことをします

私ができる最善の方法を拡張する方法を理解できるのでTable<Selection>、Selection の部分クラス (Ruby と同様) で静的メソッドを作成することですが、次のように datacontext を渡す必要があります。

セットベースの操作を行うための 2 つの規則があり、データ コンテキストを静的クラスに渡す必要があるため、この種の処理は最悪です。

私は他の人がヘルパーメソッドをデータコンテキストの一部に積み上げることを推奨しているのを見てきました;

しかし、これにより、DCはまとまりのある操作のゴミ捨て場になると思います。

確かに私は何かが欠けています。そうだといい。コンベンションは何ですか?

0 投票する
1 に答える
588 参照

python - 既存のモジュールまたはパッケージを拡張/パッチする方法は?

OpenERP という名前の Python アプリケーションのロケール固有の機能を拡張したいと考えています。OpenERPもlocaleモジュールのソースコードも変更せずに、OpenERPが locale.setlocale() 関数を呼び出すたびに呼び出されるサードパーティの module.function を実装するだけです。

私が想像できる唯一の方法は、メイン アプリケーション パッケージ dir 内に locale.py という名前のモジュールを提供することですが、それは非 Pythonic 回避策のようです。

0 投票する
3 に答える
5649 参照

jquery - jQuery.extendはInternetExplorerでは機能しませんが、Firefoxでは機能します

私は次のことを試みています:

私は今、次のことができると期待する必要があります。

Firefox 3.6では、これは問題なく機能します。Internet Explorer 7および8では、「オブジェクトはこのプロパティまたはメソッドをサポートしていません」と表示されます。

$ .extendがどのように機能するかを誤解していますか、それともIEの動作が悪いですか?

jQueryバージョン:1.3.2

ありがとう!

0 投票する
5 に答える
2292 参照

php - シングルトン クラスの拡張

私は次のようなシングルトン クラスのインスタンスを作成していました。

非シングルトンクラスの場合:

これがシングルトンであるかどうかにかかわらず、クラスのインスタンスを作成する方法を区別すべきではないと思います。他のクラスの認識を見ると、クラスがシングルトンクラスを必要とするかどうかは気にしません。そのため、php がシングルトン クラスをどのように扱うかについては、まだ満足していません。私は考え、常に書きたいと思っています:

別の非シングルトン クラスですが、この問題の解決策はありますか?

0 投票する
2 に答える
10835 参照

jquery - jQuery fn.extend({bla:function(){}}とjQuery.fn.bla

OK jQuery.extendとjQuery.fn.extendの違いはわかりますか?

一般的なextendは任意のオブジェクトを拡張でき、fn.extendは、内部jqueryブードゥーを使用してjqueryオブジェクトから直接呼び出すことができるプラグイン関数用です。

したがって、それらを異なる方法で呼び出すように見えます。関数yを追加してオブジェクトobjを拡張するためにgeneralextendを使用する場合、メソッドはそのオブジェクトobj.y()にアタッチしますが、fn.extendを使用する場合、それらはjqueryオブジェクト$ .y()に直接アタッチされます。 ...私はその正しいはいまたはいいえを取得しましたか?いいえの場合、私は私の理解で何が間違っていますか?

今私の質問:

私が読んでいる本は、

構文ですが、ドキュメントには

そして、もしあなたがbも欲しければ、それは

これらは機能的にもパフォーマンス的にも同等ですか?そうでない場合、違いは何ですか?

どうもありがとうございます。私はjQueryを掘っています!

0 投票する
4 に答える
55044 参照

php - 別のオブジェクトからstdClassオブジェクトにプロパティを追加する

私は次のことができるようになりたいです:

$obj2のプロパティが含まれるように$objを拡張するにはどうすればよいですか。例:

配列を使用し、すべてのプロパティを配列に追加してから、それをオブジェクトにキャストして戻すことができることはわかっていますが、次のようなよりエレガントな方法があります。

extend($ obj、$ obj2); //$obj2から$objにすべてのプロパティを追加します

ありがとう!

0 投票する
5 に答える
1755 参照

c# - ラベル コントロールの再発明

独自のモジョネスを追加するには、ラベル コントロールをゼロから再発明/再作成する必要があります。はい、私はあなたが考えていることを知っています (そして、あなたがそう考えていないなら、そうすべきではありませんか?)。

誰かが私を正しい方向に向けることができますか?

ありがとうございました。

ラベルを再作成する全体的な目的は、ラベルが画面にどのように描画されるかを完全に制御し、KeyDown イベント ハンドラーも使用できるようにすることです。たとえば、ユーザーは、TextBox コントロールのコンテンツを編集するのと同じ方法で、ラベルのコンテンツを編集できます。

また、TextBox コントロールを単純に使用することはできません。目的の結果を得るには、それ以上の作業ではないにしても、ほとんどの作業が必要になるからです。