类的设计--接口
需要一个类提供某些功能,这些功能可能有不同的实现方式,可以把它设计为接口。
1.首先明确接口职责范围,职责需要高内聚的,即相关性的职责,无关的职责不应该加进来。
2.按照分析好的职责范围定义接口
3.建立类,简单的对接口实现:类中建立需要的方法,每个方法功能单一、简洁,方法内用伪代码简单写一下,因为可能会重构
4. 将多个实现类的共用方法抽取而形成一个抽像类。
5.a.标注实现类扩展抽像类并实现接口
或者
b.如果抽像类能够实现接口的大部分功能,则标注抽像类实现接口,实现类扩展抽像类。
7.重构:在代码实现中可能对功能有进一步深入的理解,可能需要调整类的结构或依赖或接口。
8.核查是否有过多的依赖,是否实现类职责多于接口的职责等等
9.接口实现类的方法的伪代码改为实际的代码
10.接口测试
接口的使用方式:
1.静态的使用接口:
类A只是使用该接口的一种实现方式。表现为接口是类A的成员变量。
依赖注入 可以使用spring等。
2.动态的使用接口:
由于类A处理的数据结构不同,而需要使用不同的接口实现类。
a方式:每一个枚举实例对应一个接口实现,建立静态工厂类根据枚举实例获取接口,前提接口实现数是相对固定,并枚举类型为类A所知。
b.方式: