首页 > 代码库 > 代理模式
代理模式
代理模式(Proxy Pattern) :给某一个对象提供一个代 理,并由代理对象控制对原对象的引用。代理模式的英 文叫做Proxy或Surrogate,它是一种对象结构型模式。
代理模式包含三个角色:
抽象主题角色(Subject):通过接口或抽象类声明真实角色实现的业务方法。
代理主题角色(Proxy):实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。
真实主题角色(RealSubject):实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。
基本代码实现:
1、接口类:
public interface ISubject { void Method(); void Function(); }
2、真实主题角色
public class RealSubject implements ISubject{ @Override public void Method() { System.out.println("真实实现方法。"); } @Override public void Function() { System.out.println("真实实现功能。"); } }
3、代理主题角色(实现与真实类相同的接口,实际调用真实类的方法)
public class ProxySubject implements ISubject { public RealSubject real; public ProxySubject() { real = new RealSubject(); } @Override public void Method() { real.Method(); } @Override public void Function() { real.Function(); } }
4、测试方法
public class ProxyTest { public static void main(String[] args) { //实例化代理 ISubject subject = new ProxySubject(); //通过代理调用具体功能 subject.Method(); subject.Function(); } }
运行结果:
代理模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。