問題タブ [proxy-pattern]

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 投票する
13 に答える
82607 参照

design-patterns - プロキシ、デコレータ、アダプタ、およびブリッジパターンはどのように異なりますか?

私はプロキシパターンを見ていましたが、デコレータ、アダプタ、ブリッジパターンに非常によく似ているように見えます。私は何かを誤解していますか?違いは何ですか?なぜプロキシパターンを他のパターンと比較して使用するのですか?過去に実際のプロジェクトでそれらをどのように使用しましたか?

0 投票する
9 に答える
122976 参照

optimization - コピーオンライトとは?

コピー オン ライトとは何か、またその用途について知りたいです。この用語は、Sun JDK チュートリアルで何度か言及されています。

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

design-patterns - プロキシ パターンを使用してシングルトンを置き換えるにはどうすればよいですか?

これは、シングルトンの何が悪いのかについてのいくつかのコメントへの回答です。

そこでは、シングルトンの代わりにプロキシ パターンを使用して DB データをキャッシュできることが提案されました。しかし、私には利点がわかりません。実際、シングルトンはより「制御可能」に見えます。

問題について詳しく説明しましょう。大規模なデータ セットを含むデータベースがあり、変更されないため読み取り専用と見なすことができると仮定すると、このデータ キャッシュをモデル化する方法として、シングルトンよりもプロキシ パターンの方が適しているのはなぜでしょうか?

(追伸: 「より「テスト可能」だから!」と言う場合は、詳しく説明してください。私はまだこれらの概念に慣れています)

ご協力いただきありがとうございます!

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

java - リモート プロキシを構築する際の Java の適切な用語は何ですか?

リモートサーバーに存在する可能性が高いがローカルに存在する可能性があるオブジェクトにJavaでリモートプロキシを実装しているとします。

リモート サーバーに実際のオブジェクトがあり、ローカル実装 (プロキシ自体) があり、オブジェクトが実際にどこにあるかの詳細を隠すプログラムに提供するインターフェイスがあります。ローカル表現は、オブジェクトのローカル実装またはリモート実装に接続できます。

これらのことに対するJavaの標準用語は何ですか? インターフェイス/クラスには何と名前を付ける必要がありますか?

サブジェクト、イメージ、および実装という用語が散りばめられているのを見たことがありますが (おそらく GOF の時代から)、Java で記述されたフレームワークの命名を行うにはどのような方法が受け入れられるのだろうかと思います。

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

javascript - JSプロキシパターン

このコードを使用して、window.alert関数をオーバーライドします。この関数は、ブレークを\ r\nに置き換えます。Firefoxでは正常に動作しますが、もちろんIEでは動作しません。エラーが発生しました:プロパティまたはメソッドはサポートされていません。

私が解決策を見つけるのを手伝ってください!ありがとうございました

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

design-patterns - プロキシ パターンを動的に実装するにはどうすればよいですか?

昨年書いたクラス トラッキング (ダーティ ロジック) を再検討しています。現在、すべての状態追跡を処理する超基本クラスがありますが、追跡する必要がある値を持つ各プロパティは、標準的get { return _x; } set { _isDirty = true; _x = value; }な作業方法に固執する必要があります。

Entity Framework で遊んでProxy Patternを読んだ後、自動実装されたプロパティを利用しながら IsDirty Logic を実装するためのより良い方法があることを望んでいましたか?

正直なところ、私は自分が何について話しているのか見当がつきません。次のようなことができる方法はありますか?

次に、属性を使用してプロパティの値を設定する前に、リフレクション (または別の魔法のソリューション) を使用して別のメソッドを呼び出す動的プロキシを実装しTrackStateます。

明らかに、物理プロキシ クラスを作成して IoC を使用することで、これを簡単に行うことができます。

しかし、すべてのオブジェクトに対してこれを行う必要はありません。そうしないと、既存のソリューションから何のメリットもありません。誰かが私の好奇心を満たしてくれることを願っています。または、少なくとも EF がそれをどのように達成しているか教えてください。

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

.net - プロキシパターンとアダプタパターンの違いは?

プロキシとアダプタのパターンには類似点があるようですが?

違いは何ですか?なぜ両方が必要なのですか?.netの例では、プロキシのみを使用し、別の問題は使用しないでください。

ありがとうございました

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

c# - ここで new() 関数とは何ですか?

私はデザインパターンを学んでいて、クラスからのそのようなメソッド呼び出しを見ました:

ご覧のとおり、そこにsubject = new();呼び出しがあり、新しいインスタンスを作成しているのか、Proxyそれとも何か他のものを作成しているのか疑問に思っています。これに関連するものは見つかりませんでした。

あなたの助けに感謝します。

必要に応じて、コード全体を貼り付けるか、実際には本に書かれているので、ここに書き留める必要があります。

ありがとう。

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

ruby - Ruby: プロキシ パターン、メソッド呼び出しの削減

Ruby ロガーをプロキシしてパフォーマンスを維持するにはどうすればよいですか?

したがって、私たちは職場で非常に合理的な要件を持っています。プログラムに信号 HUP が送信されると、ログがフラッシュされて再起動されます。

問題は、context.logger がリセットされた場合、@logger がまだ古いものを指していることです。

だから、私はロガーをプロキシすると思った:

これは正常に動作しますが、1 つのメソッド呼び出しを 2 つのメソッド呼び出し (1 つのアクセサー; ロガーを返す) と交換したことを除きます。私はまだ LoggerProxy.:debug, :info, ... を呼び出さなければなりません。これにより、元のロガーが呼び出されます! したがって、2 つのメソッド呼び出しがありましたが、1 つありました。

Logger クラスをモンキーにしたり、オーバーロードしたりしたくありません。将来、他のロガー、syslog、独自のロールなどを使用したいからです。

パフォーマンスのためにメソッド呼び出しの数を減らす方法はありますか?

-ダニエル

更新: パフォーマンスに関する質問への回答として、サンプル テストを示します。

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

php - 必要に応じて、PHP クラスでプロパティとして定義されたオブジェクトをインスタンス化します (遅延読み込み)

簡単にするために、Web アプリケーションで使用される User と UserStatus の 2 つのクラスがあるとします。

ほとんどの HTTP リクエストでは、ステータス オブジェクトは使用されないため、必要に応じてのみインスタンス化する方法を探しています (遅延読み込みと呼びます)。status->method()呼び出しをインターセプトしてそのオブジェクトをオンザフライで作成するにはどうすればよいですか?

重要な注意点は、 UserStatus クラスで利用できる必要$user_idがあることです。そうしないと、fetchDataFromDB()メソッドはどのユーザーにデータを取得する必要があるかわかりません。これはどのように行うべきですか?

Fabien Potencier のWhat is Dependency Injection?のようなこの問題に関する興味深いものを見てきました。Pimple - PHP 5.3 の依存性注入コンテナとProxy Patternに関するいくつかの記事がありますが、それらを実装するには、現在のコードをかなりいじる必要があるようです。もっと簡単な方法はありますか?