设计模式——代理模式
代理有很多种:
动态代理:
防火墙代理(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
分享到:
相关推荐
对于新手来说,设计模式可能显得深奥难懂,但它们实际上是经验丰富的开发者用来提高代码质量、可维护性和可扩展性的工具。本篇文章将深入探讨这些新手可能还不了解的Java设计模式知识。 首先,我们要理解设计模式的...
设计模式是软件开发中的一种解决方案,它提供了一种通用的设计思想和方法论,可以帮助开发者更好地设计和实现软件系统。设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。 在本书中,作者罗伟富通过 ...
《人人都懂设计模式:从生活中领悟设计模式:Python实现》带你一起从生活的角度思考设计模式,以轻松有趣的小故事开始,由浅入深地讲解每一种模式,思考每一种模式,总结每一种模式!力求用更通俗的语言阐述难懂的...
如果说“四人帮”的《设计模式》是设计模式领域的“圣经”,那么之后出版的各种关于设计模式的书都可称之为“圣经”的“注释版”或“圣经的故事”。本书是得道者对“圣经”的“禅悟”,它既不像“圣经”那样因为惜字...
初学者往往认为设计模式深奥难懂,但其实理解基本的设计模式有助于提升编程水平,是每个开发者成长的必经之路。 误区九:设计模式无法适应敏捷开发。敏捷开发强调快速迭代和适应变化,而设计模式恰好提供了一种灵活...
- **代理(Proxy)模式**:为其他对象提供一个代理以控制对这个对象的访问。 #### 六、行为型设计模式 - **建造者(Builder)模式**:将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 ...
本书采用了一种独特的教学方法,通过大量的插图和实例,使得原本抽象难懂的设计模式变得生动有趣,易于理解。尽管书中大部分示例是基于Java编写的,但对于具备C++基础的读者来说,依然能够轻松跟上内容,因此本书被...
- **十大设计模式**:重点阐述了十个最常用的设计模式,包括但不限于单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、适配器模式、装饰器模式、组合模式、代理模式和策略模式等。每个模式都配有详细的...
"控制器——晦涩难懂的概念" 控制器是计算机系统中的一种重要组件,负责控制计算机的运算和数据处理。控制器的主要功能是控制指令的执行、操纵操作的信号、时序控制和中断处理。控制器由控制单元、算术逻辑单元...
《Python 高级编程》课程信息化教学设计初探——以“Jieba 库应用”课程单元为例,提出了一个以现代教育理念为指导的教学方案。本文将围绕该教学设计的核心知识点,进行详细解读。 首先,信息化教学是指利用信息...
元类是Python编程中一个高级且复杂的概念,它在大多数初学者眼中可能显得有些晦涩难懂。然而,一旦理解了元类的工作原理,你就能更深入地掌握Python的精髓,甚至可以创建出更加灵活和定制化的类。下面,我们就通过两...
如果你感叹GoF的《设计模式》太晦涩难懂时,可以看看这本经典书籍《设计模式精解》,会给你带来不一样的感受。
一本倾注了设计师灵魂的经典之作,却不晦涩难懂。 写作阵容强大。本书作者Eric Freeman;ElElisabeth Freeman是作家、讲师和技术顾问。Eric拥有耶鲁大学的计算机科学博士学位,E1isabath拥有耶鲁大学的计算机科学...
·课程中,Eclipse和IDEA这两种企业一线开发环境都使用到了 3.技术讲解更深入、更全面: ·课程共30天,715个知识视频小节,涉及主流Java使用的方方面面,全而不冗余 ·全程内容涵盖数据结构、设计模式、JVM内存...
在I/O分配过程中,为了配合这些数据处理指令,输入输出口被分配到了一个字节内,这对于程序的执行效率和准确性至关重要。 优化设计中,QBO输出数据表负责机械手动作的控制数据读取和输出,而IBO传感器数据表则负责...
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、无数工程师实践的代码设计经验的总结,它是面向对象思想的高度提炼和模板化。使用设计模式将会让代码具有更高的可重用性、更好的灵活性和可拓展性、更...