エージェントモード(プロキシ)は、元のオブジェクトへの参照を制御するためにオブジェクトとプロキシオブジェクトへのプロキシオブジェクトです。プロキシモードと装飾的なパターンは非常に似ていますが、主な違いは、プロキシモードは、プロキシクラスは、プロキシされているオブジェクトを制御している、またはその決定を実装するために失敗したということです。MATLAB言語プロキシプロキシモード与えられた図https://www.cnblogs.com/gonjan-blog/p/6685611.htmlの構成によれば。
Subject.m
CLASSDEF件名 方法(要約) リクエスト(〜)。 エンド・ エンド
RealSubject.m
CLASSDEF RealSubject <主題 の方法の 機能要求(OBJ) MC =メタクラス(OBJ)。 DISP(mc.Name + ":リクエスト"); エンド エンド エンド
Proxy.m
CLASSDEFプロキシ<件名 プロパティ サブ エンド メソッド 関数OBJ =プロキシ(サブ) obj.sub =副。 エンド 機能要求(OBJ) IF(ランディ([0,1])) obj.before(); obj.sub.request(); obj.after(); 他の MC =メタクラス(OBJ)。 DISP(mc.Name + ":要求なし"); エンド エンド 機能(OBJ)の前に 、MC =メタクラス(OBJ)。 DISP(mc.Name + ":開始要求")。 終わり (OBJ)の後関数 MC =メタクラス(OBJ)。 DISP(mc.Name + ":終了要求"); エンド エンド エンド
test.m
= RealSubject()。 a.request(); B =プロキシ(A)。 b.request();