java代理模式之静态代理
(一)静态代理
1、静态代码模式的介绍
静态代理在使用时,需要定义接口或者父类,被代理对象(即目标对象)与代理对象一起实现相同的接口或者是继承相同父类。
2、应用实例
具体要求:
1)定义一个接口:ITeacherDao
2) 目标对象TeacherDao实现接口ITeacherDao
3)使用静态代理方式,就需要在代理对象TeacherDaoProxy中也实现ITeacherDao
4)调用的时候通过调用代理对象的方法来调用目标对象
5)特别提醒:代理对象与目标对象要实现相同的接口,然后通过调用相同的方法来调用目标对象的方法。
3、 图解:
4、代码实现
package proxy;
//接口
public interface ITeacherDao {void teach();
}
package proxy;//目标类
public class TeacherDao implements ITeacherDao {@Overridepublic void teach() {System.out.println("开始授课。。。");}
}
package proxy;//代理对象,静态代理
public class TeacherDaoProxy implements ITeacherDao {private ITeacherDao target; //目标对象,通过接口来聚合//构造器public TeacherDaoProxy(ITeacherDao target) {this.target = target;}@Overridepublic void teach() {System.out.println("开始代理了。。。");target.teach();System.out.println("代理结束了。。。");}
}
package proxy;public class Client {public static void main(String[] args) {//创建目标对象(被代理对象)TeacherDao teacherDao = new TeacherDao();//创建代理对象,同时将目标对象传递给代理对象TeacherDaoProxy teacherDaoProxy = new TeacherDaoProxy(teacherDao);//通过代理对象,调用到被代理对象的方法teacherDaoProxy.teach();}
}
5、运行结果
java代理模式之静态代理相关推荐
- 【Java】代理模式(静态代理动态代理)
CONTENT 代理模式 静态代理 动态代理 JDK 动态代理(基于接口) CGLIB 动态代理(基于类继承) JDK 动态代理 v.s. CGLIB 动态代理 JDK 动态代理为什么必须基于接口 R ...
- 代理模式之---静态代理
代理模式之-静态代理 代理模式:为一个对象提供一个替身,以控制对这个对象的访问.即通过代理对象访问目标对象,这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 被代 ...
- 23种设计模式7_代理模式之一静态代理
23种设计模式7_代理模式之一静态代理 1 基本介绍 代理模式:为其他对象提供一种代理以控制对这个对象的访问 代理模式也叫委托模式,它是一项基本设计技巧.许多其他的模式,如状态模式.策略模式.访问者模 ...
- Java的代理模式之静态代理和动态代理
文章目录 静态代理 动态代理 jdk生成代理对象 cglib代理 代理模式简介: 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目 ...
- 设计模式之代理模式(静态代理、Java动态代理、Cglib动态代理)
代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问.这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介. 提醒:动态代理中涉及到以前的一些知识 ...
- 设计模式之代理模式(静态代理动态代理)
目录 1.什么是代理模式 2.代理模式的结构 3.代理模式的实现 3.1 静态代理和动态代理概念 3.2 静态代理 3.3 动态搭理 3.3.1 代码实现 3.3.2 Proxy类讲解 4.动态代理V ...
- 【学习笔记】结合代码理解设计模式 —— 代理模式(静态代理、动态代理、延伸)
文章目录 什么是代理模式 一. 代理模式简介 二. 静态代理模式 三. 动态代理模式 万能模版 前言:笔记基于狂神设计模式视频.<大话设计模式>观后而写 (最近一直在更新之前的刷题博客,今 ...
- 设计模式之代理模式(上) 静态代理与JDK动态代理
2019独角兽企业重金招聘Python工程师标准>>> 代理模式 给某一个对象提供一个代理,并由代理对象控制对原对象的引用. 静态代理 静态代理是由我们编写好的类,在程序运行之前就已 ...
- 代理模式(静态代理和动态代理)
一.静态代理 我们平常去电影院看电影的时候,在电影开始的阶段是不是经常会放广告呢? 电影是电影公司委托给影院进行播放的,但是影院可以在播放电影的时候,产生一些自己的经济收益,比如卖爆米花.可乐等,然后 ...
最新文章
- 【组队学习】【30期】李宏毅机器学习(含深度学习)
- php ping 命令注入,CTF关于ping命令注入问题
- MindCon | 杭京宁三大战场即将启动,火速来战!
- 删除唯一性约束unique
- 神策数据入选铅笔道 2021 真榜“企业服务未来独角兽排行榜·营销与销售 TOP20”...
- 1.EXTJS Row Editor Grid 点取消时插入的新行 的解决方法
- [css] 分析比较opacity: 0、visibility: hidden、display: none三者的优劣和适用场景
- web容器 ejb容器_容器实用指南
- golang 捕获堆栈信息_一篇文章教你如何捕获前端错误
- 【渝粤教育】电大中专建筑力学_1作业 题库
- 【优化预测】基于matlab遗传算法优化BP神经网络预测【含Matlab源码 1376期】
- 基于Python的Climate Indices库计算SPEI(标准化降水蒸散发指数)01—Climate Indices库的下载和安装
- 护照扫描仪出入境海关运用SDK
- kafka mysql 迁移,kafka迁移数据目录
- 跑步用app轨迹画得比较准确的居然是“咕咚”
- 苹果确认了!iPhone 将改用 USB-C 接口
- Java项目:16款java游戏(java+swing)
- nginx proxy_pass规则
- ZDNS联合发起创建的“粤港大数据图像和通信应用联合实验室”成功获批
- 操作系统MIT6.S081:P7->Interrupts