模板方法模式:
模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤是提供实现。
模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
设计原则:好莱坞原则
别调用(打电话给)我们,我们会调用(打电话给)你。
迭代器与组合模式
迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。
设计原则:一个类应该只有一个引起变化的原因。
组合模式允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。
组合迭代器,空迭代器。
组合结构内的任意对象称为组件,组件可以是组合,也可以是叶节点。