设计原则

好莱坞原则 - 作为高层,别来调用我们,我们会去调用你。

当高层组件依赖低层组件时,低层组件不能反向依赖高层组件,我们尽量要做到高层组件只能感知低层组件的存在,低层组件不能感知那个高层组件的调用,否则会对造成相互依赖。

单一责任原则 - 一个类只应该只有一个可以引起变化的原因。

这个原则告诉我们类的职责要单一,需求改变的潜在区域就是一个责任,如果一个类超过一个职责那么就意味着他多了一个改变的潜在情况。

设计模式

模板方法模式 - 在父类的方法中定义算法的基础骨架,将一些需要犹豫的步骤延迟到子类中实现,子类就可以在不改变通用的整体算法的情况下去灵活的实现自己的某些步骤。
迭代器模式 - 提供一种方法顺序去访问聚合对象的各个元素,而不用关心内部的数据结构。
组合模式 - 允许你将对象组成树形结构来表现整体或部分的层次结构,组合能让客户以一致的方式处理个别对象和对象组合。

模板方法模式

image.png
模板方法是非常常见的一种设计模式,在各大框架中使用非常频繁,因为他可以减轻我们的使用框架成本,只要实现关键步骤即可。

迭代器模式

image.png
迭代器也在 JDK 标准也有定义,方便我们遍历各种类型的集合元素,而不用知道被迭代的对象具体是什么数据类型。

组合模式

image.png
组合模式可以提供一个结构,可以同时包容个别对象或组合对象。
组合模式允许客户对个别对象以及组合对象都是一视同仁的。
组合模式结构内的任意对象称为组件,组件可以是组合,也可以是叶节点。