代理模式是什么?
首先搞清楚代理是什么,代理就是代替你去做你做的事情。比如你买东西,你不会直接去厂家买,你都是通过网购、实体店、代购等等途径买到你想要买的东西。这些途径我们都可以称之为代理。
那代理有什么用呢?代理可以让我们最终完成目的的过程中做一些其他的操作。比如网购有满减优惠、实体店能够体验真实产品、代购更便宜等等。这些额外的操作就是代理的作用。
java 代理模式有2种,静态代理和动态代理。一般我们使用动态代理,因为静态代理虽然实现了需求违背开闭原则。
举个栗子。
有一个接口用于购买苹果

厂商实现该接口提供了买苹果的对外方法

在不使用代理类的情况下 我们直接通过厂商购买

假如:有需求静态代理商有折扣优惠 70就可以买100的苹果 而且还升级为红富士


静态代理实现:

动态代理实现。


动态代理常常跟反射一起使用实现想实现的需求。如APP插件化,启动一个未注册的activity时。可以使用动态代理+反射进行activity的伪装启动。
网友评论