代理模式:为其他对象提供一种代理以控制对这个对象的访问。
案例:
一个男孩通过另一个人给一个女孩送礼物.
追求者(Pursuit):实现接口
属性:Girl girl;
方法:实现接口送礼物的方法。
代理类(Proxy):实现接口
属性:Pursuit pursuit;
方法:实现接口的方法的方式(调用Pursuit的方法)
送礼物的接口:
方法:1.送洋娃娃2.送巧克力3.送玫瑰花
被追求者(Girl):
自我总结:
通过代理 把礼物交给
追求者------------>代理------------>被追求者
想了解追求者只能通过代理
追求者<--------------------------------被追求者
假如:
被追求者想知道追求者的姓名,她只能通过询问代理,因为她并不知道追求者是谁
代理可以不告诉她追求者的姓名,却告诉了她追求者的电话号码,因为代理知道追求者的所有信息
体现了--单一职责的设计原则(一个类只负责一个功能)
追求者:只提供自己的所有信息
代理:去做选择告诉被追求者关于追求者的那些信息。