多接口继承和多层抽象类设计理解
以JDK集合List框架为例有感(以后可能又会有新的理解,先记录一下)
设计得好的接口一般也要遵循单一职责原则,最上层的接口一般属于独立的,不再有依赖的,
如Iterable接口定义获取迭代器接口的方法,以便实现遍历功能,而Collection接口除了容器遍历的能力外还需要容器特有的一些东西,所以定义了最基本容器的一些接口方法,而List接口则追加定义了一些基本线性表容器接口方法,层层继承充满设计之美;
而抽象类,我感觉跟Java设计模式中的模板方法模式有着天然的血缘关系,通过抽象类实现各种公共的基本方法,其余具有子类属性的交由子类进行实现。