形象描述
在将代理模式前,我们先来假设这样一个场景。
-
你是一个程序员,客户带着需求去找你们公司,不会和你直接谈,而是通过商务,此时客户会任务商务就能代表你们公司。下面用一张图来说明。
- 商务的作用有很多方面:
1、项目启动前的商务谈判
2、项目结束后的账款追讨
3、有可能在软件开发前,谈判失败,商务来终止公司与客户的合作
4、..... - 这些流程都不需要程序员去管,由商务控制了客户队程序员的访问
动态代理
- 动态代理就是通过生成一个占位(代理对象),来代理真实的对象,从而控制真实对象的访问,在上述例子中,商务就是一个代理对象。
- 代理的作用就是,在真实对象访问之前或者之后加入相应的逻辑,或根据其他规则控制是否使用真实对象。
实现步骤
- 代理对象和真实对象之间建立代理关系。
- 实现代理对象的代理逻辑方法。