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