设计模式—代理模式
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,代理模式:代理者和被代理者实现共同的行为,然后让代理制调用被代理者完成这些行为。示例说明:代理者Proxy 代理MrLi 给MrssHong 送礼物。类图如下:代码实现:定义一个送礼物的接口:Give
千家信息网最后更新 2025年02月02日设计模式—代理模式
代理模式:代理者和被代理者实现共同的行为,然后让代理制调用被代理者完成这些行为。
示例说明:代理者Proxy 代理MrLi 给MrssHong 送礼物。
类图如下:
代码实现:
定义一个送礼物的接口:GiveGift
package com.zpj.designMode.proxy;//定义一个送礼物的接口public interface GiveGift { public void giveFlowers(); public void giveDolls(); public void giveChocolate();}
实现MrLi:
package com.zpj.designMode.proxy;/** * MrLi会追女孩送礼物所以要实现接口GiveGift */public class MrLi implements GiveGift { private MrssHong hong;// 被追求着 public MrLi(MrssHong hong) { this.hong = hong; } @Override public void giveFlowers() { System.out.println("---------送花-------------" + hong.getName()); } @Override public void giveDolls() { System.out.println("---------送洋娃娃-------------" + hong.getName()); } @Override public void giveChocolate() { System.out.println("---------送巧克力-------------" + hong.getName()); }}
实现代理Proxy :
package com.zpj.designMode.proxy;public class Proxy implements GiveGift { private MrLi person;// 被代理人 public Proxy(MrssHong hong) { person = new MrLi(hong); } @Override public void giveFlowers() { person.giveFlowers(); } @Override public void giveDolls() { person.giveDolls(); } @Override public void giveChocolate() { person.giveChocolate(); }}
被送礼物者:MrssHong
package com.zpj.designMode.proxy;public class MrssHong { private String name; public MrssHong(String name) { super(); this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
测试类:
package com.zpj.designMode.proxy;import org.junit.Test;public class TestUnit { @Test public void test01() { MrssHong hong = new MrssHong("红×××"); // 告诉代理者向谁送礼物,这个代理专属于MrLi Proxy proxy = new Proxy(hong); // 代理者送礼物 proxy.giveFlowers(); proxy.giveChocolate(); proxy.giveDolls(); }}
代理
接口
行为
模式
代理制
代码
女孩
巧克力
洋娃娃
示例
被代理人
送花
测试
设计模式
设计
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
就网络安全给出建议
服务器故障代表什么意思
网络安全协议案例
无限软件开发费用
有关网络安全性研究的论文
中文全文数据库
艾瑞斯数据库
电驴怎么服务器
北京开源软件开发it技术
中国台湾ios软件开发设计
网络安全及变化
寒假网络安全教育小学观后感
移动基站位置数据库
中电华飞实时数据库
java项目在服务器发布流程
医疗器械软件网络安全风险
网络安全问题大讨论
e5服务器主板怎么看型号
计算机网络技术女生的就业方向
大数据分析的数据库
软件开发公司哦
有哪些软件开发工具
软件开发功能块图
电信号拨打电话无法连接到服务器
深信服ips服务器硬件配置
我的世界正版1.17服务器
网络安全设备运维服务器
蓝思科技网络技术有限公司
我国调整网络安全的法律
文件服务器 tomcat