码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之代理模式

时间:2019-01-16 13:05:59      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:nts   访问   代理   安全代理   设计   虚拟   .com   函数   cli   

代理模式——ProxyPattern

代理就是真实对象的代表

代理模式的作用

  •   1、远程代理:为一个对象在不同地址空间提供局部代表。
  •   2、虚拟代理:若要创建一个开销很大的对象,使用代理控制创建进度。
  •   3、安全代理:控制真实对象的访问权限。
  •   4、智能指引:调用真实对象时,代理处理另外的事。比如记录真实对象的某个方法使用了多少次。

代理模式的结构:

  •   对象接口 Subject (提供与真实对象相同的方法接口)
  •   真实对象 RealSubject(继承对象接口,实现具体的方法)
  •   代理对象 Proxy(继承对象接口,在其中创建真实对象,调用真实对象相应的方法)

 

代码实现:

对象接口 Subject

1 public interface Subject {
2        void Request();
3 }

 

真实对象 RealSubject

1 public class RealSubject implements Subject {
2     @Override
3     public void Request() {
4         System.out.println("Real Request");
5     }
6 }

 

代理对象 Proxy

1 public class Proxy implements Subject {
2     RealSubject realSubject;
3     @Override
4     public void Request() {
5         if(realSubject==null) realSubject=new RealSubject();
6         realSubject.Request();
7     }
8 }

 

主函数

1 public class Client {
2     public static void main(String[] args) {
3         Proxy proxy=new Proxy();
4         proxy.Request();
5     }
6 }

 

相关代码:https://github.com/lancelee98/DesignPattern/tree/master/src/ProxyPattern

 

设计模式之代理模式

标签:nts   访问   代理   安全代理   设计   虚拟   .com   函数   cli   

原文地址:https://www.cnblogs.com/lancelee98/p/10276320.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!