设计代理(设计模式之代理模式)

 2025-08-31 23:15:02  阅读 978  评论 0

摘要:定义为其他对象提供代理以控制对象的访问特点抽象主题角色:可以是抽象类/接口,业务定义具体主题角色:被代理类,继承/实现抽象主题角色,具体实现代理角色:代理类,负责具体主题角色的应用,通过代理类执行具体主题的方法,这样可以不改变具体主题代码的情况下,扩展其他业

定义

为其他对象提供代理以控制对象的访问

特点

设计模式之代理模式(一)

抽象主题角色:可以是抽象类/接口,业务定义

具体主题角色:被代理类,继承/实现抽象主题角色,具体实现

代理角色:代理类,负责具体主题角色的应用,通过代理类执行具体主题的方法,这样可以不改变具体主题代码的情况下,扩展其他业务逻辑,这不正是AOP的思想吗? 事实上AOP使用的就是代理模式

优点

职责清晰:真实角色只关心自己的业务,代理类完成扩展业务

扩展性强:具体角色的实现无论如何变化,被代理类不需要修改代码

动态代理:如AOP

普通代理

设计模式之代理模式(一)

普通代理的核心点就是主题角色创建对象的权限不对外提供,只能由代理类来完成,同时演示代理类可以在应用主题角色的方法时额外添加自己的需求,下面代码示例注意蓝色框高亮的代码

设计模式之代理模式(一)

具体主题

设计模式之代理模式(一)

具体主题

设计模式之代理模式(一)

代理类

设计模式之代理模式(一)

客户端调用

强制代理

设计模式之代理模式(一)

强制代理的核心点只要记住一点,抽象主题提供获取代理对象的抽象方法,主题角色中的方法只能通过在主题对象自己的代理对象访问,除此之外的任何方式都无权限访问

设计模式之代理模式(一)

抽象主题

设计模式之代理模式(一)

具体主题

设计模式之代理模式(一)

代理类

设计模式之代理模式(一)

客户端调用

版权声明:我们致力于保护作者版权,注重分享,被刊用文章【设计代理(设计模式之代理模式)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;

原文链接:https://www.yxiso.com/zhishi/2120191.html

标签:设计代理

发表评论:

关于我们
院校搜的目标不仅是为用户提供数据和信息,更是成为每一位学子梦想实现的桥梁。我们相信,通过准确的信息与专业的指导,每一位学子都能找到属于自己的教育之路,迈向成功的未来。助力每一个梦想,实现更美好的未来!
联系方式
电话:
地址:广东省中山市
Email:beimuxi@protonmail.com

Copyright © 2022 院校搜 Inc. 保留所有权利。 Powered by BEIMUCMS 3.0.3

页面耗时0.0342秒, 内存占用1.91 MB, 访问数据库24次

陕ICP备14005772号-15