🔍目的
将对象组合成树结构以表示部分整体层次结构。 组合可以使客户统一对待单个对象和组合对象。
🔍解释
真实世界例子
每个句子由单词组成,单词又由字符组成。这些对象中的每一个都是可打印的,它们可以在它们之前或之后打印一些内容,例如句子始终以句号结尾,单词始终在其前面有空格。
通俗描述
组合模式使客户能够以统一的方式对待各个对象。
维基百科
在软件工程中,组合模式是一种分区设计模式。组合模式中,一组对象将像一个对象的单独实例一样被对待。组合的目的是将对象“组成”树状结构,以表示部分整体层次结构。实现组合模式可使客户统一对待单个对象和组合对象。
程序示例
创建基类LetterComposite
和不同的可打印类型Letter
,Word
和Sentence
public abstract class LetterComposite {
private final List<LetterComposite> childr