课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
设计模式是程序员在学习软件开发技术的时候需要重点掌握的一个编程知识点,今天太原达内小编就和大家一起来学习一下,设计模式中组合模式的概念与实践。
组合模式是什么?
组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构。
其实,组合模式,又称为部分整体模式,用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。
组合模式的角色
组合模式中一般有以下三种角色:
抽象构件(Component):一般是接口或者抽象类,是叶子构件和容器构件对象声明接口,抽象出访问以及管理子构件的方法。
叶子节点(Leaf):在组合中表示叶子节点对象,叶子节点没有子节点,也就没有子构件。
容器构件(Composite):容器节点可以包含子节点,子节点可以是叶子节点,也可以是容器节点。
注意:关键点就是抽象构件,所有节点都统一,不再需要调用者关心叶子节点与非叶子节点的差异。
组合模式的两种实现
组合模式有两种不同的实现,分别是透明模式和安全模式:
两者的区别在于透明模式将组合使用的方法放到抽象类中,而安全模式则是放到具体实现类中
透明模式
透明模式是把组合的方法抽象到抽象类中,不管是叶子节点,还是组合节点,都有一样的方法,这样对外处理的时候是一致的,不过实际上有些方法对叶子节点而言,是没有用的,有些累赘。
安全模式
安全模式,就是叶子节点和组合节点的特性分开,只有组合节点才有增加和删除操作,而两者都会拥有展示操作。但是如果同时对外暴露叶子节点和组合节点的话,使用起来还需要做特殊的判断。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。