装饰者模式
在地球的修真者所生活结界世界中,早已经引入世俗界的商业模式,尤其是电脑这种高科技已经被各大宗门的丹药阁所使用。
最近天门宗的丹药阁阁主犯了难,他炼出了一些丹药以及丹云,丹云可以装饰丹药,可以提升丹药的吸收率,但阁主不知道怎么把丹药输入电脑中进行很好的搭配来卖出。
因为一个丹药可以搭配多种丹云,如果有n种丹药,n种丹云,光是1丹药搭配1丹云都有nn种,更别1种丹药可以搭配多种丹云,这样的搭配种类数会提升不知多少。*
怎么办呢,这时一个修真架构师来了,说简单啊,阁主,咱们可以使用世俗界的一种设计模式–装饰者模式呀,不得不说凡人还是很聪明的。架构师凌空一指,飞来一台联想牌电脑,架构师说:我修为不高,只能使用这样的垃圾电脑,阁主莫怪,我用代码给您讲解。
-
定义:
- 动态的将新功能附加到对象上,在对象功能扩展方面,它比继承更有弹性,装饰者模式也体现了开闭原则
-
原理
- 装饰者模式就像打包一个快递
- 主体:比如:陶瓷、衣服——-被装饰者
- 包装:比如: 纸填充、塑料泡沫、纸板、木板
- 装饰者模式就像打包一个快递
-
示例:
-
在天门宗的丹药阁购买丹药,丹药有一品筑基丹、一品练气丹,一品金丹进阶丹,有用于装饰的丹云,比如:火属性丹云、木属性丹云、土属性丹云。每一种丹药可以搭配多种丹云被售出,当然,单独卖出一个丹药也是可以的,随修真者自己选择性购买并搭配。
-
抽象的丹药类:
-
进阶丹类(用于提取进阶丹种类共同的属性,方法)
-
一品筑基丹
-
一品练气丹
-
一品金丹进阶丹
-
装饰者(丹云)
-
土属性丹云
-
木属性丹云
-
火属性丹云
-
顾客:修真者甲
-
“瞧,阁主,这样搭配丹药就方便多了,如果增加丹药种类比如一品元婴丹,我只需要写一个一品元婴丹类继承进阶丹就可以了,满足了开闭原则,而且丹药可以直接跟多种丹云搭配,且不影响丹云的代码,这样岂不是太棒了”
-
-
应用:在Java的IO结构,FilerInputStream就是一个装饰者
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91985 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!