java-设计模式之装饰模式和代理模式的区别!

一.你在一个地方写装饰,大家就知道这是在增加功能,你写代理,大家就知道是在限制
1.最常见的代理就是权限判断了,权限就肯定是限制了
2.装饰模式是指增强被包装对象的功能
代理模式是修改被代理对象的行为
3.例子:
1.装饰模式:对被装饰的对象增加额外的职责,满足里氏代换原则(子类可以代替父类)
如:杯子生产线,杯子必须可以装水,在生产线上可以给杯子涂颜色,加杯盖,
但要保证杯子可以装水。
2.代理模式:对被代理的对象提供访问控制。
如:客户订购商品,可以直接从厂家订购,也可以从网上商城订购,网上商城是厂家
的代理,从网上商城订购商品,商城可以对商品进行控制,不交钱不给商品,人不在
不给商品,也可以赠送你额外的礼品,代金券。
4.例子二:
举个例子 A类是原始功能的类, B是装饰模式中对A类的扩展之后的类, C是代理模式中对A类的扩展
对于用户调用来说。
使用装饰模式, 用户更关系的是B的功能(包含A的原始功能)。
使用代理模式,用户更关心A的功能。并不关系(c的功能)。

 我思所得:当要扩展一个类的功能时,用装饰,如果要对原有的方法进行改进,则用代理
          这就是真理呀,就像前面关闭数据库的那个close()功能,它也是把这个功能
 改为结束利用,将连接还给连接池。(厉害,可以的)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值