装饰设计模式和继承的区别?



                    
                    
小琳仔仔
8166 次浏览 2024-05-12 提问
88

最新回答 (1条回答)

2024-05-12 回答

避免了继承体系臃肿装饰是构造函数参数传递进行增强
如果为了某个功能而产生子类(继承)那么那个体系是非常臃肿的

例如:你有个对象有个功能 是在N年前建立的,具备的功能和已有的是相同的。
而且降低了类于类之间的关系,只不过提供了更强功能,如今你觉得功能不够用了 写个类把对象传进来就可以解决问题了 如果这个功能写错了 我就把自己写的功能去掉又不影响以前的功能灵活性相当强的。

装饰模式比继承要灵活。
装饰类因为增强已有对象。
所以装饰类和被装饰类通常是都属于一个体系中的

扩展回答

设计模式中的装饰者模式示例讲解


beverage2;
beverage2 = new Mocha(beverage2)《head first 设计模式》这本书第97-98页是装饰者模式的说明示例,再依次计算Whip;
beverage2 = new Whip(beverage2).cost()这里会先计算DarkRoast的价格、Mocha和Mocha的价格呢,可否解释下为什么
Beverage beverage2 = new DarkRoast()?谢谢?为什么会有这样嵌套计算的逻辑;
beverage2 = new Mocha(beverage2)

建筑装饰施工和建筑装饰设计的区别

以后那个方面想另类过度更好一点,两者所从事的工作会有什么不同?分别学什么课程?

相关问题

页面运行时间: 0.20885396003723 秒