知识卡片

装饰器动态增强

普通读书笔记卡 · 1858

内容

装饰器用组合包裹原对象,在运行时叠加新能力,避免为每种功能组合创建子类。发散:它比继承更灵活,但层层包装会增加调试和调用链理解成本。

参考来源

- 位置:《秒懂设计模式 2021》第9章《装饰器》正文(源文件:_epub-src/OEBPS/Text/chapter009.html) - 结论依据:原文明确装饰器与继承的区别在于运行时动态包装而非编译时静态继承,直接支持卡片论点。 - 原始内容:"装饰器模式(Decorator)能够在运行时动态地为原始对象增加一些额外的功能……后者是在编译时(compile-time)静态地通过对原始类的继承完成,而前者则是在程序运行时(run-time)通过对原始对象动态地'包装'完成"