1.定义一个接口

2.定义一个实现类,实现该接口

3.定义一个代理类,
同样实现该接口

4.代理类持有实现类的引用

5.通过代理类屏蔽对目标对象的访问,并且可以在目标方法执行前后做一些自己想做的事情