知识卡片
组合装饰代理
内容
Composite 组织对象树,Decorator 给对象树节点动态加职责,Proxy 控制对对象的访问。它们可一起出现,但各自解决不同变化点。发散:结构型模式常像积木,组合时要保持意图清楚。
参考来源
- 位置:第4章《结构型模式》4.8.2节「Composite、Decorator与Proxy」(源文件:_epub-src/OEBPS/Text/part0079.xhtml)
- 结论依据:原文明确说明Composite和Decorator结构图相似但目的不同——Decorator旨在不生成子类即可添加职责,Composite旨在统一处理多个相关对象;Proxy与Decorator结构相似但代理控制访问而非添加职责,直接支持卡片对三者可一起出现但各自解决不同变化点的论述。
- 原始内容:"Decorator旨在使你不需要生成子类即可给对象添加职责……Composite则有不同的目的,它旨在构造类,使多个相关的对象能够以统一的方式处理……像Decorator模式一样,Proxy模式构成一个对象并为用户提供一致的接口。但与Decorator模式不同的是,Proxy模式不能动态地添加或分离性质。"