日常中听到“代理”最多的地方应该是XX销售代理。
假如销售面膜这个功能本来是你拥有的,我当你的销售代理时我就也可以进行销售面膜功能了。
那我当你的代悝,有什么好处呢
我有我的人脉圈,能把面膜卖给我的亲朋好友
2. 你承受风险小了。
面膜出现质量问题时亲朋好友是来我这要说法,怹们不认识你只知道我卖给他们的。
所以说“代理”其实就是一种,通过另一个人实行你的销售功能同时能够增强你的销路、降低伱风险的一种商业行为。
也就是说在编程中,模仿这种商业模式让另一个类去实行本类的功能,同时扩展功能、增加安全性的一种模式
知道代理是啥了,再来简单聊一下静态
静态,静态静止状态。就是说只能代理固定的类,就叫做静态代理
静态代理是代理模式中的一种。代理模式还有:动态代理和Cglib代理这些我会再其他文章讲解。
接下来咱们用代码把上边代理销售面膜来实现一波。
* 相同的方法增强后,在执行买面膜方法 * 此处可以实现多种增强 * 4. 或者直接飞起以前的方法此处重写
看不懂UML图的童鞋,可以进我的博客主页学習UML类图。
1. 被代理者代理者,同时实现统一接口
2. 代理者调用被代理者的方法。
3. 客户端实例化被代理类,传递给代理类调用代理类的方法实现业务。
静态代理模式代理的是一个类,为什么不在代理类里边直接实例化被代理类反而要到客户端去实例化?
学习还是要继續继续带着疑问学下去,如果以后理解了会在这里写出答案。
当然我更希望路过的大佬给些指点。
我已经在代码的注释里边写的很清楚了:
当代理类很多时接口增加一个方法所有的代理类全部都得实现一遍。!
以上为个人所学和总结如果那里不对,希望看到的大佬指正批评!