代理模式(初学)

代理模式

一、什么是代理模式

  • 代理模式:为其他对象提供一种代理以控制对这个对象的访问

二、简单例子

  • 这里面的骏骏就起到了代理的身份,而贵贵则是被代理的身份。

三、代码实现

1、用一个接口(GivingGifts)来保存送礼物的动作

java 复制代码
package java_proxy;

/**
 * 这是送礼物的接口,要送礼物就要实现接口
 */
public interface GivingGifts {
	void sendingDolls();   //送玩偶
	void sendEarrings();   //送耳环
	void sendingFlowers(); //送鲜花
}

2、航航的类

  • 属性用于保存姓名

java 复制代码
public class Gril {
	public String name;
	public Gril(String nameString){
		this.name = nameString;
	}
}

3、被代理类(贵贵)

java 复制代码
/**
 * 贵贵
 */
public class Lmg implements GivingGifts{

	 private Gril gril;   //要送东西的对象
	 
	 public Lmg(Gril gril) {
		 this.gril = gril;  //通过构造器将要送东西的航航信息录进来
	 }
	@Override
	public void sendingDolls() {
		System.out.println("lmg送玩偶给"+gril.name);
		
	}
	@Override
	public void sendEarrings() {
		System.out.println("lmg送耳环给"+gril.name);
	}
	@Override
	public void sendingFlowers() {
		System.out.println("lmg送鲜花给"+gril.name);
	}

}

4、代理类(骏骏)

java 复制代码
/**
 * 代理类,代理lmg要做的事
 */
public class Zzj implements GivingGifts{
	
	private Lmg lmg;   
	
	public Zzj(Gril gril) {   //将航航的信息通过lmg的构造器导入进去,因为lmg这个类不声明
		lmg = new Lmg(gril);
	}

	@Override
	public void sendingDolls() {
		lmg.sendingDolls();
	}

	@Override
	public void sendEarrings() {
		lmg.sendEarrings();
	}

	@Override
	public void sendingFlowers() {
		lmg.sendingFlowers();
	}

}

5、测试代码

java 复制代码
public class Main {
	public static void main(String[] args) {
		Gril lwh = new Gril("lwh");  //声明被送礼物的人的对象
		Zzj zzj = new Zzj(lwh);  //声明代理类的对象,并将对方信息导入
		zzj.sendingDolls();
		zzj.sendEarrings();
		zzj.sendingFlowers();
	}
}
相关推荐
青主创享阁6 小时前
玄晶引擎XgenCore Works V2.8.1升级解析 技术迭代赋能场景 代理模式全新落地
大数据·人工智能·代理模式
阿猿收手吧!20 小时前
【C++】建造者与代理模式实战解析
开发语言·c++·代理模式
Real-Staok2 天前
(集合)C / C++ 设计模式综合
单例模式·设计模式·代理模式
sg_knight2 天前
设计模式实战:代理模式(Proxy)
python·设计模式·代理模式·proxy
小江的记录本3 天前
【AOP】AOP-面向切面编程 (系统性知识体系全解)
java·前端·后端·python·网络协议·青少年编程·代理模式
学嵌入式的小杨同学4 天前
STM32 进阶封神之路(五):库函数移植全解析 —— 从底层原理到移植实操(含环境适配 + 报错解决)
vscode·单片机·嵌入式硬件·代理模式·智能硬件·pcb工艺·嵌入式实时数据库
weixin_403810134 天前
EasyClick iOS USB版本蓝牙点击坐标代码
ios·自动化·代理模式
蜜獾云4 天前
设计模式之代理模式:本地接口代理远程接口的调用
设计模式·系统安全·代理模式
`Jay4 天前
高并发数据采集:隧道代理池架构设计与实现
爬虫·python·学习·golang·代理模式
Sarvartha5 天前
动态规划与背包问题学习笔记
代理模式