在实际的编码过程中,代理模式的应用场景是什么?装饰器模式的应用场景是什么?
spring的ioc+aop就是动态代理,可以帮助我开启hibernate的session,和commit事务
装饰器模式,在实际的环境中,在哪有所体现?
在实际的编码过程中,代理模式的应用场景是什么?装饰器模式的应用场景是什么?
spring的ioc+aop就是动态代理,可以帮助我开启hibernate的session,和commit事务
装饰器模式,在实际的环境中,在哪有所体现?
楼上说的都对,不是了解很深也是难理解的,最好还是去看看代码,装饰器模式和代理模式的代码很像,但是有区别:
1、装饰器模式:需要传入 被装饰者 对象实例,就是说被装饰对象是你传过去的,你是知道这个要被装饰的对象的;
代理模式:被代理者是 在代理类中 new 出来的,你不需要传入 被代理对象, 也就是说你不知道 被代理对象是谁;
2、装饰器模式:在被装饰者 前后动态添加修饰,只是添加修饰可以认为是加System.out.print("****"),相当于给被装饰者传衣服什么的,是不能控制 被装饰者的;
代理模式:在被代理者 前后添加方法,比如在前面public void method(){return;} 这样就直接返回了,看不到被代理者了,是可以做权限控制的,被代理者是可以被控制的,
这是我觉得主要的2点区别