抽象角色类:
package com.test.proxy; public abstract class Subject { /** * 抽象角色,声明真实对象和代理对象的共同接口。 */ public abstract void request(); }
代理角色类:
package com.test.proxy; public class ProxySubject extends Subject { /** * 代理角色,代理对象角色内部含有对真实对象的引用。 */ private RealSubject realSubject; @Override public void request() { this.preRequest(); // TODO Auto-generated method stub if(null == realSubject) { realSubject = new RealSubject(); } realSubject.request(); this.postRequest(); } private void preRequest() { System.out.println("pre request"); } private void postRequest() { System.out.println("post Request"); } }
真实角色类:
package com.test.proxy; public class RealSubject extends Subject { /** * 真实角色,代理角色所代表的真实对象,是我们最终要引用的对象。 */ @Override public void request() { // TODO Auto-generated method stub System.out.println("from real subject"); } }
测试类:
package com.test.proxy; public class Client { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Subject subject = new ProxySubject(); subject.request(); } }
小结:由测试类,我们看出。客户实际需要调用的是RealSubject类的request()方法,现在却用ProxySubject来代理RealSubject类,同样达到目的,同时还封装了其他方法preRequest()和postRequest()方法可以处理一些其他问题。
相关推荐
根据文档,设计模式主要分为三大类: 1. 创建型模式:这一类模式主要关注对象的创建。包括原型模式、建造者模式、工厂方法模式、单例模式和抽象工厂模式。这些模式的目的是在创建对象时,给予系统更大的灵活性和更...
此外,培训还包括了软件架构设计方法论、软件架构设计模式、软件架构设计流程、软件架构分析、基础架构设计以及全局架构设计的全面内容。通过实例分析,让学员能够将理论知识应用到实践中,解决实际工程问题,提高...
GoF(Gang of Four)的《设计模式:可复用面向对象软件的基础》一书是设计模式领域内的经典之作,书中介绍了23种常用的设计模式,这些模式可以分为三大类:创建型模式、结构型模式和行为型模式。 1. **创建型模式**...
设计模式的理念最早来源于建筑领域,由克里斯托弗·亚历山大在《论建筑的永恒之道》中提出,后来被软件工程领域采纳并发扬光大。 1995年,四位作者Richard Helm、Ralph Johnson、John Vlissides和Erich Gamma合著了...
在此模式下,涉及的委托代理关系主要是指第三方物流作为商业银行的代理人,以及融资企业委托第三方物流进行金融服务。由于物流金融服务过程涉及的信息往往是不对称的,因此博弈理论成为分析这些关系的重要工具,可以...
标题“设计模式与思想”明确指向了软件工程中的一种方法论——设计模式,它是一种在特定情况下解决常见问题的模板或指南。而“思想”部分则暗示了书中不仅会传授具体的模式,还会引导读者掌握背后的思维逻辑,即如何...
管道和过滤器(Pipes and Filters)是软件设计模式的一种,它将数据处理流程分解为一系列独立的处理步骤,每个步骤被封装在一个过滤器组件中,这些步骤之间通过管道连接,允许数据以流的形式在过滤器间传递。...
第四章“结构型设计模式”涉及适配器模式、装饰器模式、代理模式、桥接模式、组合模式、外观模式和享元模式。这些模式关注如何组织类和对象,以实现更好的结构和接口复用。 第五章“行为型设计模式”主要介绍责任链...
尽管有学者提出了不同战略下的子公司治理模式,但整体而言,对于跨国公司治理问题的深入理解和解决仍处于初级阶段,需要进一步研究代理链中各层次的互动、信息传递的有效性以及如何降低跨文化背景下的代理成本。...
- **结构型设计模式**:如适配器模式、装饰者模式、代理模式等。 - **行为型设计模式**:如观察者模式、策略模式、模板方法模式等。 - **创建型设计模式**:如工厂模式、单例模式、原型模式等。 **设计原则**: - *...
38.10 映射对象:数据库映射器或数据库代理模式 38.11 使用模板方法模式进行框架设计 38.12 使用模板方法模式的具体化 38.13 使用MapperFactory配置Mapper 38.14 模式:缓存管理 38.15 在类中合并和隐藏SQL语句...
- **结构型设计模式**:适配器模式、装饰者模式、代理模式等,主要用于处理类和对象的组合。 - **行为型设计模式**:观察者模式、策略模式、模板方法模式等,关注类的行为和交互。 - **创建型设计模式**:工厂模式、...
38.10 映射对象:数据库映射器或数据库代理模式 38.11 使用模板方法模式进行框架设计 38.12 使用模板方法模式的具体化 38.13 使用MapperFactory配置Mapper 38.14 模式:缓存管理 38.15 在类中合并和隐藏SQL语句...
38.10 映射对象:数据库映射器或数据库代理模式 38.11 使用模板方法模式进行框架设计 38.12 使用模板方法模式的具体化 38.13 使用MapperFactory配置Mapper 38.14 模式:缓存管理 38.15 在类中合并和隐藏SQL语句...