码迷,mamicode.com
首页 > 其他好文 > 详细

代理模式

时间:2020-01-03 14:25:14      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:功能   直接   增强   strong   接口   修改   引用   代码   代码执行   

代理模式      【增强目标类的作用。】

  代理模式是指,为其他对象提供一种代理以控制对这个对象的访问。

  在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户类和目标对象之间起到中介的作用。                                               -

                                                                                                                                                ---百度百科《代理模式

 

  换句话说,使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑。
  

  客户类真正的想要访问的对象是目标对象,但客户类真正可以访问的对象是代理对象。


  客户类对目标对象的访问是通过访问代理对象来实现的。当然,代理类与目标类要实现同一个接口。


 

 

    原有类具有一些功能,但是所具有的功能又不够的情况下:需要对 原有类 进行增强。

    但是根据 设计原则规定,在不能改变原有类的前提下,如何实现对原有类功能进行增强呢?

    代理类的诞生了!!!

    创建代理类的意义:不修改目标类(即,原有类) 原有代码的前提下,实现增强目标类的功能。

 

    重点注意:   最后代码执行时,真正使用的是 代理类。

 

 


 分类:   静态代理  和 动态代理

 

      静态代理:   指的是程序还没有运行,两个类之间就已经建立了代理关系。

      动态代理:  指的是程序在运行过程中,才生成一个代理对象。而该代理对象 作用就是 为目标对象 作 代理。

 

       要从直观的代码中  鉴别 静态代理 和 动态代理,观察代码即可:

            通常情况下: 

       只要程序中 需要自己定义代理类,这就是静态代理。

       程序无需定义代理类, 但是 代理对象是通过  工厂 或 工具 在运行时 生成的,此时的代理 为 动态代理。     

 


代理模式

标签:功能   直接   增强   strong   接口   修改   引用   代码   代码执行   

原文地址:https://www.cnblogs.com/penguin1024/p/12144466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!