代理模式是指,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,二代理对象可以在客户类和目标对象之间起到中介的作用。
————百度《代理模式》
换言之来说,使用代理对象是为了在不修改目标对象的基础上,增强业务逻辑。
客户类想要访问的对象是目标对象,但客户类真正能访问的对象是代理对象,客户类对目标对象的访问是通过访问代理对象来实现的,同时,目标类和代理类要实现同一个接口。
举例:一家三口,儿子想要生活费,本来是直接向妈妈要的,但是有点怕妈妈,他去找了爸爸,让爸爸去跟妈妈要。儿子通过爸爸来向妈妈要生活费,这里爸爸就是妈妈的代理,儿子通过代理爸爸从而向妈妈要生活费。这里爸爸是代理类,妈妈是目标类,既能访问目标类的,同时也能增加新的业务功能,增强对目标类的访问。