C语言设计模式:组合模式

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

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.csdn.net/feixiaoxing/article/details/7078836

上文这个家伙的举例也不错,C中常见的组合模式就是2级链表的遍历。

但原文代码不直观,尝试举例如下:系统有一个设备链,每个节点挂接同一类型的设备,这样就形成了2级链表。

如果需要对所有设备进行遍历,就需要用到该设计模式。


[cpp]  view plain
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值