Java学习之:代理设计模式

1.使用场景

最常见的便是苹果公司与富士康。

(1)苹果公司提出要求:想要一个 iphone XR 的内置完整电路板
(2)中介公司接到需求,传达给富士康
(2)富士康接收到用户需求,进行内置电路板的组装
(3)富士康生产好之后给中介,中介再进行转交,苹果公司拿到产品

在这个场景中,苹果公司就是真实业务实现类,富士康担任代理类的角色,而他们要通过中介公司完成操作。所以中介就是两个子类都要事先的接口。

2.代理本质:

两个子类共同实现一个接口,其中一个子类负责真实业务实现,另一个子类完成辅助操作。

3.实现代码:
//有人要买东西
interface IBuy{
	//买什么东西
	void buyBuy();
}

//真实买东西的人(买家) 真实主题类
class RealBuyer implements IBuy{
	//覆写
	public void buyBuy(){
		System.out.println("买一个mac rubywoo");
	}
}

//代理去买东西  代理类
class ProxyBuyer implements IBuy{
	//需要一个买家,传入真实主题类
	private IBuy buyer;
	public ProxyBuyer(IBuy buyer){
		this.buyer = buyer;
	}
	public void beforeBuy(){
		System.out.println("买家打钱");
	}
	public void afterBuy(){
		System.out.println("代理寄东西");
	}
	//覆写
	public void buyBuy(){
		this.beforeBuy();
		this.buyer.buyBuy();
		this.afterBuy();
	}
}

public class Test1{
	//客户端
	public static void main(String[] args) {
		IBuy buyer = new ProxyBuyer(new RealBuyer());
		buyer.buyBuy();
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值