主な役割
- インターフェースや抽象クラス宣言と真のテーマプロキシオブジェクトを介して実装されたビジネス方法:抽象的なテーマ(主題)カテゴリ
- レアルテーマ(実物)カテゴリ:抽象は、特定のビジネスのトピックを達成するため、実際のオブジェクトは、プロキシオブジェクトによって表され、オブジェクトは、究極の基準となります
- プロキシ(代理)クラス:実際のテーマと同じインタフェースを提供し、内部が実際の被写体への参照が含まれ、それは、アクセス制御、または実際のテーマの機能を拡張することができ
コード表示
package proxy;
public class ProxyTest
{
public static void main(String[] args)
{
Proxy proxy=new Proxy();
proxy.Request();
}
}
//抽象主题
interface Subject
{
void Request();
}
//真实主题
class RealSubject implements Subject
{
public void Request()
{
System.out.println("访问真实主题方法...");
}
}
//代理
class Proxy implements Subject
{
private RealSubject realSubject;
public void Request()
{
if (realSubject==null)
{
realSubject=new RealSubject();
}
preRequest();
realSubject.Request();
postRequest();
}
public void preRequest()
{
System.out.println("访问真实主题之前的预处理。");
}
public void postRequest()
{
System.out.println("访问真实主题之后的后续处理。");
}
}
スプレッド
動的プロキシSpringAOP