java接口抽象,业务抽象,功能抽象,抽取功能,方法定义的一点想法
面向接口编程是很好的解耦方式,但是接口的声明要抽象,和具体的业务相剥离,否则接口名称和参数太过具体就无法达到很好的通用性
例如在写一个html转换为word文件的功能,或者word转换为html的功能,首先声明接口,如果接口的名称命名为 wordToHtml,或者htmlToWord,那么接口名称就过于具体
这项业务再网上抽象就是转换,所以,顶层接口应该声明为transform,而word转html可以再次声明为子接口,最后再有具体的word转html的实现类
具体的类型结构如下
如果使用uml来画更好,临时用画图工具画的,大概的意思就是这样
最后,目前想到的抽象的一个实践方法就是将功能的动词抽取出来作为上层接口的声明,名词+动词的组合作为下层接口或者实现类