`
zqjshiyingxiong
  • 浏览: 439942 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

设计模式——代理模式(这个模式特别的难懂,希望和大家讨论一下!)

    博客分类:
  • JAVA
阅读更多

 

设计模式——代理模式

 

代理有很多种:

 

动态代理:

 

防火墙代理(firewell):控制网络资源的访问,保护主题免于“坏客户”的损坏

 

智能应用代理(smart reference)

 

缓存代理(Caching proxy)

 

同步代理(synchronization proxy)

 

复杂隐藏代理(Complexity hiding proxy)又称 外观代理(Facade proxy)

 

写入时复杂代理(Copy-On-Write proxy)

 

 

名称 Proxy
结构
意图 为其他对象提供一种代理以控制对这个对象的访问。
适用性
  • 在需要用比较通用和复杂的对象指针代替简单的指针的时候,使用P r o x y 模式。下面是一 些可以使用P r o x y 模式常见情况:
    1) 远程代理(Remote Proxy )为一个对象在不同的地址空间提供局部代表。 NEXTSTEP[Add94] 使用N X P r o x y 类实现了这一目的。Coplien[Cop92] 称这种代理为“大使” (A m b a s s a d o r )。
    2 )虚代理(Virtual Proxy )根据需要创建开销很大的对象。在动机一节描述的I m a g e P r o x y 就是这样一种代理的例子。
    3) 保护代理(Protection Proxy )控制对原始对象的访问。保护代理用于对象应该有不同 的访问权限的时候。例如,在C h o i c e s 操作系统[ C I R M 9 3 ]中K e m e l P r o x i e s 为操作系统对象提供 了访问保护。
    4 )智能指引(Smart Reference )取代了简单的指针,它在访问对象时执行一些附加操作。 它的典型用途包括:
  • 对指向实际对象的引用计数,这样当该对象没有引用时,可以自动释放它(也称为S m a r tP o i n t e r s[ E d e 9 2 ] )。
  • 当第一次引用一个持久对象时,将它装入内存。
  • 在访问一个实际对象前,检查是否已经锁定了它,以确保其他对象不能改变它。

 

 

 

 

 

 

 

 

 

 

  • 大小: 36.9 KB
分享到:
评论
2 楼 hyxw5890 2009-01-25  
Spring 的aop就是基于动态代理的,可以通过JDK的Proxy或者cglib来实现,后者不需要被代理的类实现接口,性能可能也会高一点
1 楼 nba520pz 2009-01-24  
RMI 就是这个原理!

相关推荐

    java设计模式——告诉新手一些不知道的东西

    对于新手来说,设计模式可能显得深奥难懂,但它们实际上是经验丰富的开发者用来提高代码质量、可维护性和可扩展性的工具。本篇文章将深入探讨这些新手可能还不了解的Java设计模式知识。 首先,我们要理解设计模式的...

    人人都懂设计模式 人人都懂设计模式

    设计模式是软件开发中的一种解决方案,它提供了一种通用的设计思想和方法论,可以帮助开发者更好地设计和实现软件系统。设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。 在本书中,作者罗伟富通过 ...

    人人都懂设计模式.epub

    《人人都懂设计模式:从生活中领悟设计模式:Python实现》带你一起从生活的角度思考设计模式,以轻松有趣的小故事开始,由浅入深地讲解每一种模式,思考每一种模式,总结每一种模式!力求用更通俗的语言阐述难懂的...

    设计模式实训教程代码

    如果说“四人帮”的《设计模式》是设计模式领域的“圣经”,那么之后出版的各种关于设计模式的书都可称之为“圣经”的“注释版”或“圣经的故事”。本书是得道者对“圣经”的“禅悟”,它既不像“圣经”那样因为惜字...

    长久以来对设计模式的重大误解

    初学者往往认为设计模式深奥难懂,但其实理解基本的设计模式有助于提升编程水平,是每个开发者成长的必经之路。 误区九:设计模式无法适应敏捷开发。敏捷开发强调快速迭代和适应变化,而设计模式恰好提供了一种灵活...

    C#设计模式大全

    - **代理(Proxy)模式**:为其他对象提供一个代理以控制对这个对象的访问。 #### 六、行为型设计模式 - **建造者(Builder)模式**:将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 ...

    Head First Design Patterns - 设计模式经典书籍

    本书采用了一种独特的教学方法,通过大量的插图和实例,使得原本抽象难懂的设计模式变得生动有趣,易于理解。尽管书中大部分示例是基于Java编写的,但对于具备C++基础的读者来说,依然能够轻松跟上内容,因此本书被...

    Design Patterns Explained(设计模式解析英文版)

    - **十大设计模式**:重点阐述了十个最常用的设计模式,包括但不限于单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、适配器模式、装饰器模式、组合模式、代理模式和策略模式等。每个模式都配有详细的...

    控制器——晦涩难懂的概念.pptx

    "控制器——晦涩难懂的概念" 控制器是计算机系统中的一种重要组件,负责控制计算机的运算和数据处理。控制器的主要功能是控制指令的执行、操纵操作的信号、时序控制和中断处理。控制器由控制单元、算术逻辑单元...

    《Python 高级编程》课程信息化教学设计初探——以“Jieba 库应用”课程单元为例.pdf

    《Python 高级编程》课程信息化教学设计初探——以“Jieba 库应用”课程单元为例,提出了一个以现代教育理念为指导的教学方案。本文将围绕该教学设计的核心知识点,进行详细解读。 首先,信息化教学是指利用信息...

    两句话带你完全掌握Python最难知识点——元类!

    元类是Python编程中一个高级且复杂的概念,它在大多数初学者眼中可能显得有些晦涩难懂。然而,一旦理解了元类的工作原理,你就能更深入地掌握Python的精髓,甚至可以创建出更加灵活和定制化的类。下面,我们就通过两...

    《设计模式精解》part1

    如果你感叹GoF的《设计模式》太晦涩难懂时,可以看看这本经典书籍《设计模式精解》,会给你带来不一样的感受。

    Head First设计模式.pdf

    一本倾注了设计师灵魂的经典之作,却不晦涩难懂。 写作阵容强大。本书作者Eric Freeman;ElElisabeth Freeman是作家、讲师和技术顾问。Eric拥有耶鲁大学的计算机科学博士学位,E1isabath拥有耶鲁大学的计算机科学...

    尚硅谷-拓展:装饰设计模式.pdf

    ·课程中,Eclipse和IDEA这两种企业一线开发环境都使用到了 3.技术讲解更深入、更全面: ·课程共30天,715个知识视频小节,涉及主流Java使用的方方面面,全而不冗余 ·全程内容涵盖数据结构、设计模式、JVM内存...

    基于数据处理的PLC优化设计——YL-235A机械手PLC编程.pdf

    在I/O分配过程中,为了配合这些数据处理指令,输入输出口被分配到了一个字节内,这对于程序的执行效率和准确性至关重要。 优化设计中,QBO输出数据表负责机械手动作的控制数据读取和输出,而IBO传感器数据表则负责...

    实用通俗易懂的设计模式

    设计模式(Design Pattern)是一套被反复使用、多数人知晓的、无数工程师实践的代码设计经验的总结,它是面向对象思想的高度提炼和模板化。使用设计模式将会让代码具有更高的可重用性、更好的灵活性和可拓展性、更...

Global site tag (gtag.js) - Google Analytics