深度解析阿里面试题:设计模式-装饰器模式,看完还不懂你来找我!

先说下装饰器模式要解决的问题:可以使我们在不修改任何底层代码的情况下,给你的对象赋予新的职责,也就是在不改变原有对象的前提下增加行为,满足开闭原则,

开闭原则:对扩展开放,对修改关闭!

定义:

装饰器模式是动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。

00原则:

  1. 封装变化
  2. 多用组合,少用继承
  3. 针对接口变成,不针对实现编程
  4. 为交互对象直接的松耦合
  5. 对扩张开放,对修改关闭

优点:

  1. 动态的
  2. 提供了有别于继承的另一种选择
  3. 符合开闭原则
  4. 可以搭配其他模式,如工厂模式和生成器模式等

缺点:

  1. 装饰器模式,常常造成设计中有大量的小类

类图:
在这里插入图片描述
举例描述:

装饰器就类似于一个一个的包装器,将被装饰对象包装起来,开局就是一个猴,只不过是从石头缝蹦出来的,在后去蓬莱仙岛学习仙术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值