结构性模式包括:代理模式、。
1、代理模式
代理对象提供原服务的全部或部分接口功能,相当于是原服务的替代品,它控制着对于原对象的访问。使用代理的好处:
①、可以扩展原对象的接口功能,比如在原接口调用前增加日志写入,条件判断等,当然这种情况一般是原服务是第三方,我们无法修改其代码,或者我们不想破坏原服务接口明确的功能性这种情况。
②、对访问进行控制以保护目标对象,比如只希望特定客户端使用服务,因为服务会操作系统中非常重要的部分。
③、缓存请求的结果,即缓存客户请求结果并对缓存生命周期进行管理。
④、接口业务发生扩展的时候,方便集中管理。这个可以参考《JAVA之反射》这篇文章中的动态代理部分。