Skip to content

03-代理模式 ​

代理是代替某个物品,替它做一些事情。

比如,租房一般不是直接找房东,而是找中介,通过中介来经行租房。

那为什么要找代理呢?

如果没有代理,那房东就会时不时就被“骚扰”。通过代理,把这些有用/无用的信息都通过中介过滤一遍,这样就可以提高效率,减少耦合(房东只提供房子的服务,而中介只需要过滤/整合租房信息)

代理类型 ​

代理模式分为静态代理和动态代理

静态代理 ​

静态代理是不会改变的,无论被代理的对象有没有使用,都会创建一个这个类型的代理。 适用于需求稳定的场景

还是拿租房为例,如果房东的房子处于黄金地段,有稳定的客源,那么中介公司可以为此专门配对一个中介来对接这个房东。

动态代理 ​

动态代理是按需来创建代理对象的,如果需要,那么才会创建,如果不需要,那么就自然不会创建。

依然拿租房为例,在大部分的情况下,房东一般是没有稳定的客源的,因此中介公司也不会专门配对一个中介来管理,一般是使用中介池来管理

中介池:当有需求的时候,去中介池里面找一个中介对接,在结束工作了之后,把中介就放回中介池里面。

思考 ​

动态代理与静态代理 ​

  1. 动态代理是按需创建的,静态代理是直接创建,就算没有需求也依然会创建
  2. 动态资源的利用率更高,静态代理速度更快