プロキシモード
8003 ワード
プロキシサーバ
エージェントとは、サーバ側でもよく使用されるが、エージェントとスポークスマンを表す意味は、何かに代わるものである.
具体的には,エージェントモードは,機能を定義する構想オブジェクトではなくインタフェースを用い,エージェントオブジェクトによってメソッドを呼び出し,戻り値を受け入れるかどうか分からない場合に処理する.
操作例
上場する
import java.util.*;
interface Image {
public void displayImage();
}
//on System A
class RealImage implements Image {
private String filename;
public RealImage(String filename) {
this.filename = filename;
loadImageFromDisk();
}
private void loadImageFromDisk() {
System.out.println("Loading " + filename);
}
@Override
public void displayImage() {
System.out.println("Displaying " + filename);
}
}
//on System B
class ProxyImage implements Image {
private String filename;
private Image image;
public ProxyImage(String filename) {
this.filename = filename;
}
@Override
public void displayImage() {
if (image == null)
image = new RealImage(filename);
image.displayImage();
}
}
class ProxyExample {
public static void main(String[] args) {
Image image1 = new ProxyImage("HiRes_10MB_Photo1");
Image image2 = new ProxyImage("HiRes_10MB_Photo2");
image1.displayImage(); // loading necessary
image2.displayImage(); // loading necessary
}
}
クライアントがDoAction()メソッドを要求する場合、これは、エージェントが戻り値を受信、処理、取得し、クライアントに渡す方法である.これにより、クライアントは結果のみを受け取り、OCP、DIPの設計原則に合致するオブジェクト向けの設計を完了します.
Reference
この問題について(プロキシモード), 我々は、より多くの情報をここで見つけました https://velog.io/@blacklandbird/프록시-패턴-yo5pg6s8テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol