Java设计模式:代理
静态代理
代理类和委托类都需要实现相同的接口
package hxw.test.StaticProxy;
public interface Service {
public void show();
}
代理类
package hxw.test.StaticProxy;
public class ServiceProxy implements Service{
//持有接口
private Service service;
//构造器要求获得接口的实现类
public ServiceProxy(Service service){
super();
this.service = service;
}
//接口方法调用
@Override
public void show() {
System.out.println("代理类 "+this.getClass().getSimpleName()+" 委托类 "+this.service.getClass().getSimpleName()+" 开始");
this.service.show();
System.out.println("代理类 "+this.getClass().getSimpleName()+" 委托类 "+this.service.getClass().getSimpleName()+" 结束");
}
}
委托类是接口的个性化实现 1
package hxw.test.StaticProxy;
public class ServiceImpl1 implements Service{
@Override
public void show() {
System.out.println("实现之1");
}
}
委托类是接口的个性化实现 2
package hxw.test.StaticProxy;
public class ServiceImpl2 implements Service{
@Override
public void show() {
System.out.println("实现之2");
}
}
测试类
package hxw.test.StaticProxy;
public class main {
public static void main(String[] args) {
Service impl1 = new ServiceImpl1();
new ServiceProxy(impl1).show();
Service impl2 = new ServiceImpl2();
new ServiceProxy(impl2).show();
}
}
测试结果
代理类 ServiceProxy 委托类 ServiceImpl1 开始
实现之1
代理类 ServiceProxy 委托类 ServiceImpl1 结束
代理类 ServiceProxy 委托类 ServiceImpl2 开始
实现之2
代理类 ServiceProxy 委托类 ServiceImpl2 结束
Java设计模式:代理相关推荐
- java设计模式代理模式_Java中的代理设计模式
java设计模式代理模式 代理对象或代理对象为另一个对象提供占位符,以控制对该对象的访问. 代理充当原始对象的轻量级版本或简化版本. 它支持与原始对象相同的操作,但可以将那些请求委托给原始对象以实现它 ...
- Java设计模式(代理模式-模板方法模式-命令模式)
Java设计模式Ⅴ 1.代理模式 1.1 代理模式概述 1.2 静态代理 1.2.1 静态代理概述 1.2.2 代码理解 1.3 动态代理之JDK代理 1.3.1 动态代理之JDK代理概述 1.3.2 ...
- 通俗易懂说java设计模式-代理模式
基本概念 代理模式,和我们在生活中所理解的"代理"思想并没有太大的区别.代理模式的实现需要我们设计一个代理类,在不直接访问被代理对象的前提下,通过代理类实现对被代理对象的间接访问, ...
- JAVA设计模式--代理模式(静态)
目录 一.什么是代理模式 二.静态代理模式的结构 三.静态代理模式应用举例 应用一 应用二 四.代理模式的应用场景 五.静态代理模式的特点 一.什么是代理模式 代理(Proxy)模式为其他对象提供一种 ...
- Java设计模式-代理模式笔记
代理模式 0 什么是代理模式 理解方式1 理解方式2 1 静态代理 1.1 代码实现 1.2 方法解读 1.3 优缺点 2 动态代理 2.1 具体实现 2.2 方法解读 2.3 注意 3 Cglib代 ...
- Java设计模式—代理模式
1. 什么是代理模式? 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问. 2. 代理模式有什么好处? 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标 ...
- java设计模式-代理模式初探
根据圣思园的视频,整理的java代理模式. 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问. 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间 ...
- JAVA设计模式 - 代理模式
在对象的一个业务方法完成之后, 有时候我们可能需要去添加一些新的功能(前置校验等). 但我们又不想更改原来的代码 , 代理模式就为我们提供了一种解决方案 . 1 . 代理模式的定义 代理模式就是在不改 ...
- Java 设计模式 -- 代理模式
代理模式概念 实现一个代理类以及它所对应的受代理对象,其他所有类对受代理对象的访问,都由代理对象代为实现. 优点:在目标对象基础之上,可以增加一些额外的功能. 个人认为,这种模式适用于: 你需要使用别 ...
- Java设计模式——代理模式
文章目录 1.简介 2.推荐实现案例 3.优缺点 3.1 优点 3.2 缺点 4.应用场景 5.注意事项 6.拓展 6.1 普通代理 6.2 强制代理 6.3 代理类的个性 6.4 动态代理 7.最佳 ...
最新文章
- asp.net中DataGrid性能测试
- 经验总结!我们是如何在编程面试中挂掉的
- Java语言概述与简单程序
- 第二阶段冲刺第六天(6月5号)
- 计算机光驱参数,请问,电脑光驱插入关盘,打开时显示“参数不正确,无法打开”,这是什么故障,怎么处理?...
- xshell 安装yum_xshell上安装docker
- Java泛型(类、接口、方法)及通配符
- JS - Object and Property的删除用法
- mysql双机数据热备份_教你怎么样实现MySQL数据库双机热备份
- JAVA反射--通过反射对pojo进行UT覆盖率测试
- Apple ID Your Account Cannot Be Created at This Time
- ESP8266无线模块相互通信
- 【Oracle】并行等待之PX Deq: Table Q Normal
- 支付宝玉伯:从前端到体验,如何把格局做大
- 基于STM32+腾讯云IO+微信小程序设计的混凝土智能养护系统
- Uipath的下载与使用教程
- Java播放MP3播放音频
- android系统10.0模拟器,exagear模拟器安卓10.0
- CANoe.DiVa 操作指南 - 逆向测试项设置
- [转]第一次考CCIE FAIL的经历……………