设计模式一静态代理模式
Posted loveer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式一静态代理模式相关的知识,希望对你有一定的参考价值。
静态代理模式
间接地访问该对象,从而限制、增强或修改该对象的一些特性。
代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。
静态代理
是由程序员创建或特定工具自动生成源代码,在对其编译。
在程序员运行之前,代理类.class文件就已经被创建了。
动态代理
是在程序运行时通过反射机制动态创建的。
静态代理总结:
优点:可以做到在符合开闭原则的情况下对目标对象进行功能扩展。
缺点:我们得为每一个服务都得创建代理类,工作量太大,不易管理。
同时接口一旦发生改变,代理类也得相应修改。
1 public class ProxyDemo 2 public static void main(String[] args) 3 new proxy().myshop(); 4 5 6 7 interface a 8 void shopping(); 9 10 11 class b implements a 12 13 @Override 14 public void shopping() 15 System.out.println("买零食"); 16 17 18 19 class proxy 20 private a a = new b(); 21 22 public void myshop() 23 before(); 24 a.shopping(); 25 after(); 26 27 28 private void before() 29 System.out.println("拿钱"); 30 31 32 private void after() 33 System.out.println("回家啊"); 34 35
以上是关于设计模式一静态代理模式的主要内容,如果未能解决你的问题,请参考以下文章
深入理解设计模式-代理模式(静态代理动态代理jdk和cglib)