您的位置:首页 > 房产 > 家装 > 长春自主建站模板_怎样给自己的网站做优化_网络项目怎么推广_2023第三波疫情已经到来了

长春自主建站模板_怎样给自己的网站做优化_网络项目怎么推广_2023第三波疫情已经到来了

2025/8/1 14:46:09 来源:https://blog.csdn.net/weixin_45248370/article/details/147480412  浏览:    关键词:长春自主建站模板_怎样给自己的网站做优化_网络项目怎么推广_2023第三波疫情已经到来了
长春自主建站模板_怎样给自己的网站做优化_网络项目怎么推广_2023第三波疫情已经到来了

JAVA设计模式——(七)代理模式

  • 介绍
  • 理解
  • 实现
    • 抽象主题角色
    • 具体主题角色
    • 代理类
    • 测试
  • 应用

介绍

代理模式和装饰模式还是挺像的。装饰模式是抽象类对装饰对象的实现,在继承装饰对象。代理模式则是直接对代理对象的实现。

理解

代理模式可以看成用一个类代表另一个类,使用代理类时,便会执行被代理对象的功能。

代理模式更多用于前后置条件运用等等,如权限控制、日志记录等。

实现

抽象主题角色

代理类和具体主题角色实现的接口类

package cn.sh.designepattern;/*** @Author song* @Version 0.0.1* @Date 2025/4/25 10:11* @Contact 643947568@qq.com*/
public interface Subject {public void operate();}

具体主题角色

package cn.sh.designepattern;/*** @Author song* @Version 0.0.1* @Date 2025/4/25 10:11* @Contact 643947568@qq.com*/
public class RealSubject implements Subject{@Overridepublic void operate() {System.out.println("执行具体操作");}
}

代理类

package cn.sh.designepattern;/*** @Author song* @Version 0.0.1* @Date 2025/4/25 10:10* @Contact 643947568@qq.com*/
public class Proxy implements Subject{private Subject subject;public Proxy(Subject subject) {this.subject = subject;}@Overridepublic void operate() {System.out.println("前置操作");subject.operate();System.out.println("后置操作");}}

测试

package cn.sh.designepattern;/*** @Author song* @Version 0.0.1* @Date 2025/4/24 16:33* @Contact 643947568@qq.com*/public class Main {public static void main(String[] args) {Proxy proxy = new Proxy(new RealSubject());proxy.operate();}
}

应用

权限控制
日志记录
远程访问
缓存代理:缓存对象结果,使得客户端可以共享这些结果。
同步代理:使得几个对象可以同时使用一个对象而不发生冲突。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com