目前我正在进行一些API设计工作,涉及到许多接口的规范作为抽象,稍后将由各种具体类实现.
正因为如此,我正在使用Java,但我认为这个问题与支持类似接口概念的任何语言都是相关的.
我注意到,往往有一个选择:
>使用各种方法制作大型界面
>制作多个接口,每个接口包含一整套方法的子集(一个具体的类可能需要实现这些接口的几个或全部)
每种方法的优缺点是什么?
解决方法
分裂界面的专家是你可以将方法分成一组有意义的责任. con是你的接口现在被分成一堆可能正在实现的较小的接口.
我建议将界面拆分出来,帮助可读性,而不用进一步.如果你有一个类正在实现10个接口,那么这些接口需要被组合成一个接口,或者类可能需要承担很多的责任,而且它真的需要两个或更多的类.