目录
装饰者模式介绍
装饰者模式动态的将责任附加到对象身上。想要拓展功能,装饰者提供有别于继承的另一种选择。
路边摊事例
在城市中,总有那么一群人,为我们提供自然的美味肉夹馍和鸡蛋灌饼,在这两种食物上,我们可以额外的加鸡蛋、里脊、火腿、鸡胸肉等等,我们假定他们的价格如下:
| 食材 |
价格 |
备注 |
| 肉夹馍 |
5.0元 |
主产品 |
| 鸡蛋灌饼 |
4.0元 |
主产品 |
| 鸡蛋 |
1.0元 |
附加品 |
| 里脊 |
2.0元 |
附加品 |
| 火腿肠 |
1.5元 |
附加品 |
| 鸡胸肉 |
1.5元 |
附加品 |
路边摊只提供两种主商品(肉夹馍和鸡蛋灌饼),在这之上,我们可以添加其他的辅料,比如鸡蛋灌饼 + 里脊,那这个时候的价格是6.0元。
路边摊类图

路边摊实现
Food
package com.lulei.study.design.patterns.decorator;
/**
* Created by lulei on 2019/4/19.
*/
public abstract

本文介绍了装饰者模式的概念,通过路边摊美食的实例来说明其工作原理。装饰者模式允许在不修改对象的基础上,动态地给对象增加新的行为和职责。文章详细展示了路边摊的类图和实现,包括Food、EggCake、ChineseHamburger等类,以及如何通过OriginalMaterial、Egg、Tenderloin等装饰物来改变主食品的价格。
347

被折叠的 条评论
为什么被折叠?



