7.3.Java_代理设计模式--Spring-AOP,代理模式的特点/定义,代理模式举例买一台外星人电脑,代理模式的本质,代理模式应用如EJB技术和WebService技术

代理模式的特点:


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



如:
接口:买一套圣诞限量版Mac口红
真实主题类:你
代理类:代购


代理模式举例:

interface ISubject{
	public void buyComputer();//核心功能:买电脑
}


//真实主题类
class RealSubject implements ISubject{
	public void buyComputer(){
		System.out.println("2.买一台外星人电脑");
	}
}

//真正的操作业务
class ProxySubject implements ISubject{
	private ISubject subject;
	//构造方法
	public ProxySubject(ISubject subject){
		this.subject=subject;
	}
	
	public void produceComputer(){
		System.out.println("1.生产外星人电脑");
	}
	public void afterSale(){
		System.out.println("3.外星人电脑售后团队");
	}
	
	public void buyComputer(){
		this.produceComputer();//真实操作前的准备
		this.subject.buyComputer();//调用真实业务
		this.afterSale();//操作后的收尾
	}
}


class Factory{
	public static ISubject getInstance(){
		return new ProxySubject(new RealSubject());
	}
}
//测试类
public class Test{
	public static void main(String[] args){
		ISubject subject = Factory.getInstance();
		subject.buyComputer();
	}
}

运行结果:
1.生产外星人电脑
2.买一台外星人电脑
3.外星人电脑售后团队


代码分析:
首先设计一个接口ISubject。子类RealSubject_负责真实业务,即实现买电脑的功能。子类ProxySubject辅助真实业务的实现,即实现生产电脑和售后服务的功能。


代理模式的本质:
所有的真实业务操作都会有一个与之辅助的工具类(功能类)共同完成。

代理模式在JavaEE中有广泛应用,如:EJB、WebService等技术

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值