概述
在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。
在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。
策略模式旨在不改变被代理对象的基础上进行方法增强。
当我们一个原有的类不能满足功能,又处于职责或其他原因不便修改的时候,我们可以使用代理模式。通过代理类去调用被代理类的方法,在原方法的基础上进行各种加强,又不会改变原代码。
spring 中的 AOP 就运用了代理模式。
一、静态代理
为了简单的说明代理模式,我们举个例子:
首先有一个接口,叫做购房者,然后这个类地下有一个实现类,叫做小明:
1 | //购房者接口 |
买房子还要货比三家,小明没时间,于是就把买房子这件事情委托给中介