设计模式系列三——Decorator模式

Decorator模式,中文称之为装饰者模式。

 

我们可以用游戏的角色与装备的方式去理解这个模式。角色A裸装来到了新手村,此时他的攻击只有一个普通攻击。角色A出村奋斗升级打BOSS,终于迎来人生的第一张蓝装的图纸。然后A自然的蹭的一下把这张图纸给做了出来。做出来的装备随着职业的不同可以分为法师装备和战士装备,而且居然还有攻击技能的加持。角色A肯定就直接穿上去了,这时候的A就可以使用法师的攻击技能或者战士的攻击技能了。

 

如果说裸装的A是原始的类,实现了最通用的方法,当它装备上了他的职业套装,此时他就能分别实现套装所带给他的技能加持,这就是我理解的装饰者模式。

 

这种模式的好处是什么呢?方便扩展。我们假设以下的场景:

 

码农先生接到BOSS的需求,于是根据这份需求辛苦的码着代码,历经九九八十一难终于把代码给码好了,可是这时候产品汪来了,一脸沧桑的对着你说:那个啥,码农先生,这需求不是这样滴,应该这样那样。瞬间跪了有没有。这时候如果有个合理的设计模式,那么我们就能够更加从容的去修改代码了。

 

我们可以这么去设计代码:

 

详细源码见以下链接

https://github.com/g080166/design_reposity/tree/master/demo-designer/src/main/java/com/design/decorator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值