代理模式应用和实现

慕名思意,代理就是不直接访问。

为什么不直接访问呢?

1、记录访问。 如:http 的缓存代理

2、控制访问。如:Http 服务分发服务器(负载均衡)、反向代理、加速代理、授权代理 等

3、对于开发者来说的,封装服务变化。比如 代理的 目标发生了变化,客户端仍然通过代理访问,对于客户端是无感的。就像 租房子找 中介一样,不用操心他找了几个房东。

如何实现代理模式?

1、继承

 

 2、组合类

 

如果只是上述是代理实现的原理, 代理 和目标类应该通过接口约束,这样客户端既可以使用代理也可以不使用如下图:

 

posted @ 2019-11-14 11:06  zwsu  阅读(290)  评论(0编辑  收藏  举报