在Java中创建接口层次结构被认为是不好的吗?
我设计了我的存储库层,如下所示:
Repository
,包含CRUD方法JPARepository
,JPA中仅需要的潜在方法SomeModelRepository
,该模型存储库的具体方法。SomeModelJPARepository
,扩展了JPARepository和SomeModelRepository 这被认为是不好的做法,它是一个奇怪的有组织的层次结构吗?
答案 0 :(得分:4)
不,实际上创建接口层次结构是相当普遍的,至少在库中是这样。 以NavigableSet为例,它上面有4层接口(SortedSet,Set,Collection,Iterable)。
在这个例子中,钻石继承有点特殊,但如果有必要,本身并不是一个糟糕的选择。但通常树形层次结构更清晰,更好。在这种情况下,我会考虑制作: