The composite pattern describes thata group of objects are to be treated in the same way as a single instance of an object.The intent of a composite is to "compose" objects into tree structures to represent part-whole hierarchies. Implementing the composite pattern lets clients treat individual objects and compositions uniformly.[1]
WIKI的解释很直观,组合模式强调的是一个对象和一组对象的无差别处理。
http://blog.youkuaiyun.com/feixiaoxing/article/details/7078836
上文这个家伙的举例也不错,C中常见的组合模式就是2级链表的遍历。
但原文代码不直观,尝试举例如下:系统有一个设备链,每个节点挂接同一类型的设备,这样就形成了2级链表。
如果需要对所有设备进行遍历,就需要用到该设计模式。

组合模式是一种设计模式,用于将对象组织成树形结构,以表示部分-整体的层次。这种模式允许客户端以一致的方式处理单个对象和对象组合。在C语言中,常见应用是二级链表遍历。通过定义一个结构体`DEV_NODE`,包含指向下一个节点和子节点的指针,以及数据和处理函数,可以实现组合模式。`dev_lookup`函数递归遍历链表及其子节点,展示了组合模式的应用。
最低0.47元/天 解锁文章
456





