欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第20章:接口的定义与使用:课时91:代理设计模式

程序员文章站 2024-02-26 18:45:10
...

代理设计模式的主要功能是可以帮助用户将所有的开发注意力只集中在核心业务功能的处理上,例如:肚子饿了,思考的是如何可以吃到东西。
阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第20章:接口的定义与使用:课时91:代理设计模式
范例:实现代理设计

interface IEat { 
	public void get() ; 
}
class EatReal implements IEat {
	public void get() {
		System.out.println("[真实主题]得到一份食物,而后开始品尝美味。");
	}
}
class EatProxy implements IEat { // 服务代理
	private IEat eat ; // 为吃而服务
	public EatProxy(IEat eat) { // 一定要有一个代理项
		this.eat = eat ;
	}
	public void get() {
		this.prepare() ;
		this.eat.get() ;
		this.clear() ;
	}
	public void prepare() { // 准备过程
		System.out.println("[代理主题]1.精心购买食材。");
		System.out.println("[代理主题]2.小心的处理食材。");
	}
	public void clear() {
		System.out.println("[代理主题]3.收拾碗筷。");
	}
}
public class JavaDemo {
	public static void main(String args[]) {
		IEat eat = new EatProxy(new EatReal());
		eat.get() ;
	}
}

代理设计模式的主要特点是:一个接口提供有两个子类,其中一个子类是真实业务操作类,另外一个主题是代理业务操作类,没有代理业务操作,真实业务无法进行。