代理类和被代理类的解释及案例
package com.eduask.dl;
首先定义一个接口
interface ClothFactory {
void productCloth();
}
创建被代理类
class NikeClothFactory implements ClothFactory{
@Override
public void productCloth() {
System.out.println("NIKE工厂生产了一批衣服");
}
}
创建代理类
class ProxyFactory implements ClothFactory{
ClothFactory cf;
将被代理类放入代理类
public ProxyFactory(ClothFactory cf){
this.cf = cf;
}
@Override
public void productCloth() {
System.out.println("代理类开始执行,代理费$1000");
cf.productCloth();
}
}
public class TestClothProduct {
public static void main(String[] args) {
NikeClothFactory nike = new NikeClothFactory();
ProxyFactory proxy = new ProxyFactory(nike);
proxy.productCloth();
}
}
转载于:https://www.cnblogs.com/SKTT1/p/7954024.html
代理类和被代理类的解释及案例相关推荐
- 深入类加载器-类加载器作用,类缓存、类加载器的层次结构、ClassLoader类介绍、代理模式之双亲委派机制
1.类加载器的作用 类加载器的作用是将class字节码文件加载到内存中,并将这些静态数据转化为方法区中的运行时数据结构,同时在堆中生成代表这个类的java.lang.Class对象,作为访问方法区中数 ...
- 【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | AMS 启动前使用动态代理替换掉插件 Activity 类 )
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
- 2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出“方法 method() 被
2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出"方法 metho ...
- java代理的学习,通过类实现接口来实现代理。proxy来创建动态类,和InvocationHandler接口的实现,和工作原理。...
1.java自带的proxy类可以创建动态类,如果一个类实现了一个接口那么久可以为这个类创建代理. 2.代理:就是当用户要调用一个类的方法时,用户可以通过调用代理,代理通过接口调用原来的类的方法,代理 ...
- mybatis 自定义函数_JDK动态代理一定要有代理对象吗?请你结合Mybatis回答
动态代理 有一段时间没有写文章了, 主要是回想起这两年多的时间,多多少少,每个知识点差不多都有写到了, 一时也想不起什么新鲜的知识分享给大家.今天写动态代理,主要是在看Mybatis源码时,发现真的是 ...
- 浅谈Spring中JDK动态代理与CGLIB动态代理
前言 Spring是Java程序员基本不可能绕开的一个框架,它的核心思想是IOC(控制反转)和AOP(面向切面编程).在Spring中这两个核心思想都是基于设计模式实现的,IOC思想的实现基于工厂模式 ...
- Android 动态代理以及利用动态代理实现 ServiceHook
这篇博客主要介绍使用 InvocationHandler 这个接口来达到 hook 系统 service ,从而实现一些很有意思特殊功能的详细步骤. 转载请注明出处:http://blog.csdn. ...
- Java内功修炼系列:代理模式及动态代理
目录 一 代理模式 1.1 简介 1.2 代理模式角色定义 二 静态代理 2.1 介绍和实例 2.2 静态代理的缺点 三 动态代理 3.1 基于JDK原生动态代理实现 四 小结 一 代理模式 1.1 ...
- 【设计模式】--- 装饰器模式、静态代理模式和动态代理模式
文章目录 1 引子 2 业务场景介绍 3 静态代理模式 4 装饰器模式 5 动态代理模式 5.1 Proxy --- 具体的代理对象生成组件 5.2 InvocationHandler --- 封装被 ...
最新文章
- php中 可替代curl,laravel-PHP-为什么使用Guzzle代替cURL?
- 给定圆的半径r,求圆的面积。
- Vue 3.2 发布了,那尤雨溪是怎么发布 Vue.js 的?
- 【转】OWIN是什么?
- 面试官系统精讲Java源码及大厂真题 - 29 押宝线程源码面试题
- Cacti脚本及模板---PING
- Matlab图像处理—锐化滤波器
- Ubuntu环境下制作win7-U盘引导盘
- ai画面怎么调大小_AI页面面板中如何调尺寸
- dw cs5 html5,Dreamweaver CS5
- 坚果J10的真实流明到底怎么样?坚果J10有哪些缺点
- [OpenAirInterface实战-16] :OAI 软件无线电USRP X300/X310硬件详解
- Unity中location和rotation赋值和更改
- linux命令 trtest,Linux tr命令的使用方法
- JZOJ 6310.glo【LIS】【线段树】
- 2021年底跨平台技术比较和选型指南(也许是最全的)
- qq文件怎么传到百度云_如何将手机百度网盘中的文件发送给微信或qq好友 看完就明白了...
- 几种数据源的配置方式
- 【20】WAV格式歌曲
- Mac上将dmg文件转成iso的方法
热门文章
- 归一化频率的物理意义_电磁波的波长、频率和电磁波谱
- 计算机听不到音乐怎么回事,电脑听不到声音怎么解决 电脑听不到声音的处理方法...
- 官方版下载_药店大学app官方版下载
- python编程思路不清晰_安利一波Python编程中非常实用的那些黑魔法
- 【生成模型】解读显式生成模型之完全可见置信网络FVBN
- 【技术综述】视频分类/行为识别研究综述,从数据集到方法
- 【chainer速成】chainer图像分类从模型自定义到测试
- 践行“健康中国”战略-李忠:谋定功能性原生态农业大健康
- 聚焦国际农民丰收节贸易会-张桃林:农业谋定开放新格局
- 第二周 第七节 列表的使用