一、概念:代理模式为其他对象提供一种代理以控制对这个对象的访问。(在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。)
二、UML示意图:
Subject类是一个抽象类,里面有抽象方法Operation(),RealSubject继承Subject类并实现Operation()方法,但有时候程序员可能会想要调用这个Operation()之前做一些权限控制,或者说预处理,这时候可以用同样继承于Subject类的Proxy类,Proxy对象内部会有一个RealSubject对象,当调用Operation()方法时Proxy对象会调用这个RealSubject对象的Operation()方法,并在调用它之前或者之后做一些程序员想要做的额外任务。
三、优缺点
优点:
缺点:
原文:https://www.cnblogs.com/winsons/p/12490347.html