問題タブ [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.
java - RealClass で高価な手続きを延期できるのに、わざわざプロキシ パターンを使用する必要があるでしょうか。
最近、デザイン パターンについて読んでいますが、プロキシ パターンについて理解できないことがあります。
本からの引用:
- 仮想プロキシは、高価なオブジェクトをオンデマンドで作成します。動機で説明されている ImageProxy は、そのようなプロキシの例です。
このパターンを使用して、高価なオブジェクトをオンデマンドで作成できることがわかりました。また、この例も使用法を非常によく示しています。
以下は、プロキシされたクラスのコンストラクターですRealImage
。メソッドloadFromDisk()
は、コストのかかる手順を示します。
そして、この例ProxyImage
のプロキシ クラスは、意図した通りのことを行います。つまり、高価なオブジェクトをオンデマンドで作成します。
しかし、私の質問は、コンストラクターから高価なメソッドを削除して、loadFromDisk()
絶対に必要な場所に配置できないのはなぜですか?
ここみたいに?
では、なぜわざわざプロキシを使用するのでしょうか?
java - Proxy パターンで、Proxy クラスの実際の具体的なサブジェクトの代わりにインターフェイスがある場合、Decorator パターンと同等です
プロキシ パターンは、要求を処理する必要があるかどうかのチェックを適用するなどの追加の処理を行った後、要求を Real サブジェクトに委任します。
以下のようなクラス図があります
プロキシ クラスには、具体的なサブジェクトへの直接参照があります。
Decorator パターンは、コンポーネントの動作を豊かにします [プロキシのように、いくつかの追加処理を行い、操作を実際のコンポーネントに委譲します]。このパターンのクラス ダイアグラムはプロキシ パターンに似ていますが、コンポーネントのインターフェイスへの参照があることだけが異なります。
クラスは実装ではなくインターフェイスにのみ依存する必要があるため、プロキシクラスに具体的な実際のサブジェクトがあると、単体テストが困難になります。私の質問は、Proxy パターンにも Real サブジェクトによって公開されたインターフェイスへの参照がある場合、それは Decorator パターンと同等になるかということです。その場合プロキシパターンのクラス図も以下のようになります
java - 実装の詳細を隠すプロキシ パターンの具象クラス
私はJavaプロキシパターンと呼び出しハンドラーについて読んでおり、具象クラスの構築がクライアントで利用できることがどこでも見られます。
例えば、
ユーザーは のインスタンスをTwitterStub
直接作成し、メソッドにアクセスできます。クライアントを介して具象クラスの構築を公開しない、または回避する方法があるかどうか疑問に思っていましたか?
より良い方法はありますか?
scala - 関数コールバック/プロキシ パターン実装 scala を使用したキャッシュ
関数型プログラミングを使用してキャッシュを実装する方法
数日前、scala を使用したコールバックとプロキシ パターンの実装に出会いました。このコードは、値がマップにない場合にのみ内部関数を適用する必要があります。しかし、マップが再初期化され、値がなくなるたびに (これは明らかです。
異なる関数呼び出し間で同じキャッシュを何度も使用する方法
oop - アダプター パターンとプロキシ パターンの正確な違いは何ですか?
私が理解したように、アダプタとプロキシの両方のパターンにより、2 つの異なる/異なるクラス/オブジェクトが通信のためにそれぞれと互換性を持つようになります。そして、どちらも構造パターンです。私は、それらの両方が互いにかなり似ていることを理解しています。
正確に何が違うのか説明できますか?
編集:私はこの質問をしました。しかし、Adapter と Proxy を厳密に比較したいと思います。
c# - デコレータ パターンとジェネリック
通常のインターフェース:
汎用インターフェース:
クラスについては次のとおりです。
クラス「ComputationCache」は「装飾された」計算です:
装飾された計算を初期化するために、次のことを試しました。
...次のエラーが発生します":
ソース タイプ 'ComputationCache' をターゲット タイプ 'T' に変換できません。
誰かが使用する方が良いかどうかについてコメントできますか:
対