关于装饰模式,个人觉得,《大话设计模式》里面说的不是很对,在例子中我们可以看到,定义的person类,并不是想我们想象的被T-Shirt,BigTrouser,一个包装的,相反,person是先寄放在sneaker对象中的,然后sneaker又寄放在了BigTrouser中的,最后BigTrouser又寄放在了T-Shirt类中,然后通过关键的在show类中引用base中引用父类的show函数而后,又巧妙的在父类的show函数中引用寄放对象的show函数来达到包装的目的,整个过程看起来有点像,递归引用。理解起来还是有难度的。其目的是:
动态地给一个对象添加一些额外的职责也就是,show除了引用父类的show可以增加属于自己的功能。
设计模式:装饰模式
最新推荐文章于 2024-05-29 00:15:00 发布