阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第20章:接口的定义与使用:课时91:代理设计模式
程序员文章站
2024-02-26 18:45:10
...
代理设计模式的主要功能是可以帮助用户将所有的开发注意力只集中在核心业务功能的处理上,例如:肚子饿了,思考的是如何可以吃到东西。
范例:实现代理设计
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() ;
}
}
代理设计模式的主要特点是:一个接口提供有两个子类,其中一个子类是真实业务操作类,另外一个主题是代理业务操作类,没有代理业务操作,真实业务无法进行。
推荐阅读
-
阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第20章:接口的定义与使用:课时91:代理设计模式
-
阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第7章:数组的定义与使用:课时29:数组与方法
-
阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第7章:数组的定义与使用:课时26:数组引用传递分析
-
阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第7章:数组的定义与使用:课时34:对象数组
-
阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第30章:链表的定义与使用:课时139:根据索引取得数据
-
阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第27章:异常的捕获及处理:课时119:异常处理流程
-
阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第23章:包的定义及使用:课时104:生成jar文件
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第26章:反射与代理设计模式:课时118:动态代理设计模式
-
阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第30章:链表的定义与使用:课时134:链表实现简介