类型:【结构类】
类图:
描述:
为其他对象提供一种代理以控制对这个对象的访问
优点:
- 职责清晰。真实的角色就是实现实际业务逻辑,不用关心其他非本职务的事物,通过后期的代理完成一件事物,附带的结果就是编程简洁清晰
- 高拓展性。具体的主题角色是随时都会发生变化的,只要它实现了借口,那我们的代理类完全就可以在不做任何修改的情况相下使用
- 智能化。eg struts把表单的单元素映射到对象上
使用场景:
核心自我实现,其他繁琐、附加等交给代理处理,降低核心类的复杂度。代理模式的使用场景非常多,Spring AOP就是非常典型的动态代理。
了解:普通代理、强制代理、动态代理