·组合模式

组合模式

  • 组合模式
    • 透明组合模式
    • 安全组合模式

组合模式

介绍:组合多个对象形成树形结构。组合模式对单个对象(叶子对象)和组合对象(容器对象)的使用具有一致性。

透明组合模式

抽象出一个组件类,定义了对象的所有方法。包含添加,删除,查询和操作等方法。叶子对象继承抽象组件类,由于叶子节点是最终节点不具备添加,删除和查询等操作,所以叶子节点要对这些方法做空实现或是异常处理,只需实现操作方法即可。容器对象继承抽象组件,并保有一个抽象组件的集合,正确实现抽象组件的所有方法。

因为透明模式暴露了所有方法,但叶子节点只用到操作方法,所以不太安全。

安全组合模式

抽象出一个组件类,只定义对象的公共方法,即操作方法。叶子对象继承抽象组件类,因为叶子节点是最终节点,没有其他操作,只需实现操作方法即可。容器对象继承抽象组件类,并保有一个抽象组件的集合,由于容器节点,有添加,删除,查询等操作,所以在实现操作方法的情况下,还需要添加新增,删除,查询等方法。

因为安全模式只对所有对象暴露了公共方法,即操作方法,相对安全,因为叶子对象和容器对象所具有的方法是不同的,所以不能完全针对抽象编程。

你可能感兴趣的:(设计模式,组合模式,java)