装饰模式与代理区别

学着学着真容易懵
相同点:
装饰者类与目标类要求实现同一接口;静态代理类与目标类要求也实现同一接口。装饰者类与静态代理类都可以实现增强目标类的功能。装饰者类与静态代理类中都具有目标类的引用,目的都是为了在其中调用目标类的方 法。
不同点:
装饰者设计模式就是为了增强目标类;静态代理设计模式是为了保护和隐藏目标对象, 让客户类只能访问代理对象,而不能直接访问目标对象。装饰者类中的目标类的引用是通过带参构造器传入的;静态代理类中的目标类的引用, 一般都是在代理类中直接创建的,目的就是为了隐藏目标对象。装饰者基类一般不对目标对象进行增强,而是由不同的具体装饰者进行增强的,且这 些具体的装饰者可以形成增强链,对目标对象进行连续增强。静态代理类会直接对目标对象 进行增强,需要哪些增强的功能,一次性在静态代理类中完成,没有增强链的概念。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值