设计模式之结构模式---代理模式
代理模式(Proxy) 代理模式其实从字面上来说很好理解。实际生活中,形形色色的明星都会有自己的经纪人吧。这个经纪人其实就是明星的代理。他先负责跟投资方谈谈,然后明星才开始接拍电影,唱歌,跳舞啥的。我们的代码示例也以这个例子为业务基础。回到理论层面,代理模式就是多一个代理类出来,替原对象进行一些操作。代理模式又可以分为静态代理模式和动态代理模式,动态代理模式又分为JDK动态代理和cglib动态代理。首先我们来写静态代理模式代码,并分析静态代理模式的优缺点: 第一步,我们来声明两类明星的接口,歌星和舞星 /** * @author chenglezheng */ public interface SongStar { void song(String startName); } /** * @author chenglezheng */ public interface DanceStar { void dance(String startName); } 然后我们再写两类接口具体的实现 /** * @author chenglezheng */ public class SongStarImpl implements SongStar { public void song(String startName) { System.out.println(startName+