Aha!设计模式(56)-组合模式(3)

网友投稿 527 2022-11-13

Aha!设计模式(56)-组合模式(3)

Aha!设计模式(56)-组合模式(3)

效果

组合模式的内容包括两点:一是提供一种访问和管理下级节点的标准的方式,二是可以将针对父节点的操作递归扩散到它的下级节点或下下级节点。其所有的效果都源于这个特征。

1.使用组合模式,可以很简单的构 造树形数据结构。

2.使用组合模式,可以使利用者以相同的观点使用树形结构上的任意节点,无论这个节点使叶子节点,还是父节点,甚至是爷爷节点都一样。

3.组合模式中的子节点是基类类型,允许动态改变一个对象的子节点构成以实现新的功能。

4.使用组合模式的数据结构实现系列化之后,在不改变系列化代码的情况下就可以存储新的数据类型。

实现

真正使用组合模式的时候,有几点需要注意:

1.关于Component的接口 由于Component接口是树形数据结构上所有节点共有的特征,因此需要非常小心地维护这个接口。特别需要注意的是,不要为了局部的需求而改变到节点的全体。

2.Component还是Composite 数据结构实际上是设计者对处理对象的静态视图,这个看法会随着需求的变化,设计的深入而发生变化。对于组合模式来讲,一个重要的分歧点就是一个节点到底是Component还是Composite。如果是软件没有发布的话,这样的变化影响不会太大;如果产品已经上市,客户已经使用这个产品生成自己的数据文件,这种变更就会比较麻烦。考虑到未来可能发生的变更,一开始就让将Composite的功能合并到Component中没准是一个比较号的妥协点。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot实现整合微信支付方法详解
下一篇:Aha!设计模式(57)-装饰模式(1)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~