首页 > 代码库 > 代理模式——HeadFirst设计模式学习笔记

代理模式——HeadFirst设计模式学习笔记

代理模式:为另一个对象提供一个替身或占位符控制这个对象的访问

 

特点:

  • 让代理对象控制对象的访问,被代理对象可以是远程对象(远程代理),创建开销较大对象(虚拟代理),或需要安全控制的对象(保护代理)

 

代理分类:

  • 远程代理:好比远程对象(在不同JVM虚拟机的对象)的本地代表(本地方法的行为转移到远程),帮助我们处理网络上的细节
    • 代理假装自己是远程对象,不过只是一个中间角色,处理访问远程对象
    • 技术分享
    • Java RMI提供了客户辅助对象stub和服务辅助对象skeleton,并为其提供相同的方法

    • 注意方法返回值需要设置为可序列化对象Serializable,不需要序列化的状态变量使用transient声明
    • 注意处理远程访问异常
    • 执行过程:从远程获取代理对象 -》客户调用代理对象的方法 -》调用发送到远程 -》远程接受调用信息并在具体对象上操作 -》获得结果返回给代理 -》代理把结果告诉客户

代理模式——HeadFirst设计模式学习笔记