设计模式—代理模式
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,代理模式:代理者和被代理者实现共同的行为,然后让代理制调用被代理者完成这些行为。示例说明:代理者Proxy 代理MrLi 给MrssHong 送礼物。类图如下:代码实现:定义一个送礼物的接口:Give
千家信息网最后更新 2025年12月03日设计模式—代理模式
代理模式:代理者和被代理者实现共同的行为,然后让代理制调用被代理者完成这些行为。
示例说明:代理者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安全错误
数据库的锁怎样保障安全
金山区网络技术转让咨询热线
空间和云服务器
临沂软件开发学习班
上海乐奥网络技术有限公司
南京智能化软件开发创新服务
软件开发如何选择电脑
内网服务器ip地址能ping通
广州曼知互联网科技有限公司
自己在网上做软件开发
从服务器或工作站到接口的连接
网络安全规划编制背景
数据库下载路径
高斯数据库位图索引
中国大学生优秀论文数据库
亿意互联网信息科技有限公司
天涯明月刀藏峰谷属于哪个服务器
正数网络技术有限公司成立
软件开发教程百度文库
数据库外键是什么
手机网络服务器怎么设置网速变快
淮安政务软件开发技术
数据库的设计第几范式
微信连接不上服务器1.1
冲锋吧精灵服务器连接不上
上海 网络安全
苏州5G网络安全
人间地狱服务器搭建
网络安全法犯法吗
华为网络技术天才
机架视频服务器和网络存储服务器