写在前面
设计模式,其实在一定程度上代表着最优解,最佳实践,由一部分开发人员根据经验总结而出的解决方案,分别针对不同的场景的最优解决方案。
在当前环境下,设计模式也被开发人员极为推崇,并且利用其解决众多的问题,所以,学习设计模式刻不容缓。
下面我们就来看一下“代理模式”。
代理模式,从字面意思上来看,就知道是替代别人去做某些事情了,Java中的代理模式呢,就是一个类代替另外一个类执行相应的功能。同样也是结构型设计模式的一种解决方案。
使用场景
像我们平时用到的远程代理,服务器间的虚拟代理,IP转发代理等等等,代理类的功能其实非常常见,所以在使用这些代理需求的同时,就需要我们去使用代理模式去解决了。
优缺点
代理模式的优点就是职责非常清晰,扩展性强。
缺点就是由于多对象间出现了代理逻辑,就需要多个其他操作来实现代理功能,比起使用原本的功能,性能上肯定是会有一些降低的。
而且在实现上,也比起直接书写业务要多出代理的逻辑编写,这在一定程度上也增加了开发的难度。