10.Composite(结构型模式)

【起源】

         递归的对象组合(如:树木,树林,森林),对容器对象的操作需要递归到基本对象上,因此Client程序在处理时,需要判断是容器对象还是基本对象,并分别处理。

         如何让Client不关注容器对象的内部结构,就让容器对象的处理与基本对象一样。

 

【动机】

         将对象组合成树形结构,以表示“整体 - 部分”的层次结构。

         Composite使得用户对单个对象和组合对象的使用具有一致性。

 

【核心】

         容器对象本来只是基本对象的集合,不具备基本对象的行为,使用时要递归到基本对象上。这个递归操作放在Client中很麻烦。

         想法:让容器对象具有基本对象的行为,不需要递归到每个基本对象上。(有一呼百应的感觉,呵呵)

         本质:把Client中的递归操作,封装到了容器对象的行为中

         比喻:宁夏省:给全宁夏上调养老保险。银川:给全银川上调养老保险。我:给我上调养老保险啦,哈哈

 

【代码实例】

 

【模型图】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值