Head First 设计模式-模板方法、迭代器

  模板方法。

  定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现。

  在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

    原则:不要调用我们,我们会调用你。这和spring的思想一模一样哦。履行这个思想,可以让程序之间低耦合。

  迭代器

  提供一种方法顺序访问一个聚合对象中各个元素,而不又暴露其内部的表示。

  组合模式

  允许你将对象组成树形结构来表现整体/部分的层次结构,组合能让客户以一致的方式处理个别对象和对象组合。

  原则:类应该只有一种改变的理由。

  我决定去看看Junit的源码,只看书看得很懵