代理模式是SpringAOP的底层。代理模式是SpringAOP的底层。

静态代理:

角色分析:

抽象角色:一般会使用接口或者抽象类来解决

真实角色:被代理的角色

代理角色:代理真实的角色,代理真实角色后,一般会做一些附属操作

客户:访问代理对象的人

代理模式的好处:

(1)可以使真实角色的操作更加纯粹,不用去关注一些公共的业务

(2)公共的业务就交给了代理角色,实现了业务的分工

(3)公共业务发生拓展的时候,方便集中管理。

缺点:一个真实角色就会产生一个代理角色,开发效率变低。

解决:动态代理

附加操作

客户:

客户直接接触的是中介租到了房东的房子。

例:已知接口有方法增删改查

现在想要在调用增删改查时打印日志

正常可以直接在每个方法体内加入打印语句

但是这样,就改动了原有的代码。

如果想要不改变原有的代码,可以使用代理模式,增加附属功能

 理解:在不改变原有业务的情况下,给业务增加一些拓展功能,使用代理模式

【设计模式笔记】代理模式相关推荐

  1. 设计模式笔记——代理模式

    设计模式笔记--代理模式 代理模式介绍 代理模式通常是介于请求方和提供方的一个中介系统,请求方是发送请求的一方,提供方是根据请求提供相应资源的一方 Web中的代理服务器就是一个例子,客户端向代理服务器 ...

  2. 3. 狂神的设计模式笔记-代理模式

    文章目录 一.静态代理 1.1 角色分析: 1.2 代码实现 创建客户 1.3 深入理解静态代理 二.动态代理 2.1 代码实现 本文笔记来自于:狂神的设计模式 代理模式的分类: 静态代理 动态代理 ...

  3. 设计模式笔记——代理模式(Proxy Pattern)

    一.引言 在软件开发过程中,有些对象有时候会由于网络或其他的障碍,以至于不能够或者不能直接访问到这些对象,如果直接访问对象给系统带来不必要的复杂性,这时候可以在客户端和目标对象之间增加一层中间层,让代 ...

  4. 【设计模式】代理模式 ( 动态代理 | 模拟 Java 虚拟机生成对应的 代理对象 类 )

    文章目录 前言 一.模拟 JVM 生成对应的 代理对象 二.模拟 JVM 生成对应的 代理对象 完整流程展示 1.目标对象接口 2.被代理对象 3.调用处理程序 4.模拟 JVM 生成的代理对象类 5 ...

  5. C++设计模式之代理模式

    这篇文章主要介绍了C++设计模式之代理模式,本文讲解了什么是代理模式.代理模式的使用场合.代理模式的实现代码等内容,需要的朋友可以参考下 前言 青春总是那样,逝去了才开始回味:大学生活也是在不经意间就 ...

  6. python中代理模式分为几种_Python设计模式之代理模式实例详解

    本文实例讲述了Python设计模式之代理模式.分享给大家供大家参考,具体如下: 代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问 #!/usr/bin/env py ...

  7. 红橙Darren视频笔记 代理模式 动态代理和静态代理

    红橙Darren视频笔记 代理模式 动态代理和静态代理(Android API 25) 关于代理模式我之前有过相关的介绍: https://blog.csdn.net/u011109881/artic ...

  8. 「设计模式(五) - 代理模式」

    「设计模式(五) - 代理模式」 一.处处可见的"代理" "代理"在平常生活司空见惯,点外卖,租房子找中介,买飞机票等等.基本上用手机就能完成,也就是不直接接触 ...

  9. Javascript 设计模式之代理模式【讲师辅导】-曾亮-专题视频课程

    Javascript 设计模式之代理模式[讲师辅导]-969人已学习 课程介绍         随着 javascript ES6/7 的发布,很多老版本的设计模式的实现,今天来看是错误的,将被彻底. ...

  10. 设计模式之一代理模式

    代理模式(代理设计模式) 代理模式的定义与特点 代理模式的结构与实现 代理模式(代理设计模式) 在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代 ...

最新文章

  1. OS- -进程详详解
  2. boost::split()的使用方式
  3. NAS、DAS和SAN三种存储究竟是什么?
  4. python语言名片管理系统,进行增删改查
  5. 简单的Verilog测试模板结构
  6. python中自定义类中的self_学习python第52天
  7. canvas贝塞尔曲线爱心_HTML5 Canvas 绘制贝塞尔曲线 Bezier and quadratic curves
  8. 武汉大学2018计算机考研拟录取名单,【完整版】2018年武汉大学硕士研究生考试拟录取名单...
  9. 华为手机如何更新鸿蒙系统_华为鸿蒙系统怎么升级?升级鸿蒙系统步骤
  10. 如何在网页中插入视频(简单实用)
  11. Windows引导过程(BIOS,UEFI)
  12. SAP MM批量删除采购申请、采购订单
  13. 腾讯云服务器部署TomCat出现404
  14. 《飞屋环游记》让心去旅行
  15. cad高程点怎么抽稀_CAD地形图纸打开后不显示高程点怎么办?
  16. linux打开icmp端口,linux – ICMP – 目的地不可达(端口不可达)
  17. Linux下make cmake 编译等啥意思?
  18. 吉林2021高考成绩排名查询,2021吉林市地区高考成绩排名查询,吉林市高考各高中成绩喜报榜单...
  19. Metasploit——辅助模块(Auxiliary)
  20. GPIO 端口模式寄存器 (GPIOx_MODER)

热门文章

  1. Byte[]、Image、Bitmap 之间的相互转换
  2. android DisplayMetrics
  3. Svn服务器之必须提交更改日志篇
  4. HDU2109 Fighting for HDU【排序】
  5. ICPC程序设计题解系列
  6. POJ NOI0105-30 含k个3的数【数制】
  7. Graphviz样例之集群流程图
  8. 非递归求解N皇后问题(回溯法)
  9. Java 下的函数对象
  10. 机器学习、深度学习概念术语的理解