装饰者模式

通过装饰者模式解决旅游产品价格计算中的代码重用性和扩展性问题。该模式提供了一种比继承更灵活的方式来扩展功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设计模式3-装饰者模式: http://blog.sina.com.cn/s/blog_596d00a70100bow0.html  学习记录:

 

对于一个旅游产品的价格来说,是由旅行社和旅游景区共同决定的!一般的设计思维是这样,设计一个抽象产品的基类,添加一个方法来计算费用,然后所有具体的产品继承这个产品抽象类,但是产品类型的种类繁多,就会出现类爆炸现象! 

除此之外,如果某个产品的价格需要改动,那么需要做的事情是进入到具体的类中去实现修改,如果出现新的收费项目,那么我们必须要重新实现一个类来实现新功能,这样做的坏处是,代码膨胀,重用率不高!这个时候可以很好的使用装饰着模式解决!

 

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

这句话是装饰者模式的精髓!

 

也就是说,我们将各种服务的钱的价格脱离出来,如果某个旅游服务产品需要哪些服务,则把需要的服务添加上去,也就是把他重新组合起来,出现新的产品!那么可以很好的解决代码的重用率!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值