先看一个简单的例子,假设有接口ISubject:
public interface ISubject {
public void doSomething();
}
这是ISubject的实现Subject:
public class Subject implements ISubject {
/* (non-Javadoc)
* @see ISubject#doSomething()
*/
@Override
public void doSomething() {
System.out.println("done!");
}
}
客户端需要调用ISubject接口的实现类,但是客户端Client和Subject是分布在不同的机器上的,如果Client要调用Subject的话,就必须为远程通信而编写代码,而如果又有其他的模块需要调用Subject,则又需要再写远程通信的代码,因为为了保证这份远程通信的代码能够重用,则可以写一个Subject的代理类
public class Proxy implements ISubject {
private Subject subject;
// 这里写远程调用的代码
/* (non-Javadoc)
* @see ISubject#doSomething()
*/
@Override
public void doSomething() {
this.subject.doSomething();
}
}
这样,需要远程调用Subject的模块就可以通过代理类Proxy来操纵Subject对象,而不需要去关心远程调用的问题了
分享到:
相关推荐
基于Java的设计模式——代理模式demo的实现(高分课设)个人经导师指导并认可通过的98分大作业设计项目,适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用...
在Java编程中,设计模式是一种解决常见问题的模板或最佳实践,它可以帮助开发者编写更加灵活、可维护和可扩展的代码。代理设计模式是其中的一种,它的主要作用是在...在实际开发中,应根据项目需求选择合适的代理模式。
**设计模式实现——代理模式** 在软件工程中,设计模式是一种通用可重用的解决方案,它描述了在特定上下文中经常出现的问题以及该问题的解决方案。代理模式是设计模式的一种,它提供了一种对目标对象的间接访问方式...
6. **代理模式**:为其他对象提供一种代理以控制对该对象的访问。代理可以在目标对象前增加额外的功能,如缓存、日志记录、事务控制等。 7. **建造者模式**:将一个复杂对象的构建与其表示分离,使得同样的构建过程...
《设计模式——GFour》是一本深受IT从业者喜爱的经典书籍,尤其在C++开发者中具有广泛影响力。设计模式是软件工程领域中的一种最佳实践,它总结了在特定情境下解决问题的常见方法,使得代码可读性更强,复用性更高,...
**Java设计模式——代理模式详解** 代理模式是软件设计模式中的一个重要组成部分,它在Java编程中扮演着举足轻重的角色。代理模式的核心思想是为一个对象提供一个替身,这个替身即代理对象,代理对象可以控制对原...
代理模式为其他对象提供一种代理以控制对这个对象的访问;组合模式将对象组合成树形结构以表示“部分-整体”的层次结构。 3. **行为型模式**:这类模式涉及对象之间的责任分配。命令模式将请求封装为一个对象,从而...
装饰模式是一种设计模式...通过阅读和理解《设计模式:可复用面向对象软件的基础》等经典书籍,以及像博客“设计模式——装饰模式”这样的在线资源,我们可以深入掌握并灵活运用装饰模式,提高代码的可维护性和扩展性。
《设计模式——Java语言中的应用》是一本专为Java开发者深入理解面向对象设计而编写的经典书籍。设计模式是软件工程领域中经过实践验证的、解决常见问题的有效方案,它们代表了在特定上下文中,针对特定问题的最优...
### 浅析Java设计模式【3】——代理 #### 一、代理模式概述 代理模式是一种行为型设计模式,主要用于在客户端与目标对象之间起到一个中介的作用,通过代理对象来控制对目标对象的访问。代理模式的核心在于它可以...
在《设计模式——可复用面向对象软件的基础》这本书中,作者Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides(合称GoF)首次提出了23种面向对象设计模式。这些模式涵盖了不同设计场景,如创建型模式、...
在iOS开发中,设计模式是实现高效、可维护和可扩展代码的关键元素。本文将重点关注“委托”(Delegate)设计模式,这是一种常见的模式,用于在对象之间建立通信和协调行为。通过实现委托,一个对象(委托者)可以...
本文将深入探讨C#中的一个关键设计模式——代理模式,它属于结构型模式的一种,适用于管理和控制对象的访问。我们将从概念、分类、实现方式以及实际应用等方面进行详细的讲解。 1. **代理模式概念**: 代理模式是一...
"设计模式之美——教你写出高质量代码"这个主题旨在帮助开发者更好地理解和应用设计模式,从而提升代码的质量和可维护性。设计模式不仅对面试有所帮助,也是职场发展中的必备技能,无论你使用哪种开发语言。 设计...
### JAVA设计模式总结之23种设计模式及六大原则 #### 一、设计模式之六大原则 ##### 总原则:开闭原则(Open Close Principle) 开闭原则是设计模式中最核心的原则之一,它强调的是软件实体(类、模块、函数等)...
设计模式——代理模式 代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问 实现:戴励 替 卓贾易 送礼物给 娇娇 模型: #公共接口类 class InterFace: def request(self): pass #真实类 cla