首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >接口层次结构

接口层次结构
EN

Stack Overflow用户
提问于 2012-11-06 20:35:30
回答 1查看 305关注 0票数 2

在Java中创建接口层次结构被认为是不好的吗?

我设计了这样的存储库层:

  • Repository,包含CRUD方法
  • JPARepository,仅在JPA中需要的潜在方法
  • SomeModelRepository,该模型的存储库的特定方法。
  • SomeModelJPARepository,扩展了JPARepository和SomeModelRepository

这是否被认为是一种糟糕的做法,是否是一种奇怪的有组织的等级制度?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-06 20:37:26

不,实际上创建接口层次结构是相当常见的,至少在库中是这样。以NavigableSet为例,它上面有4层接口(SortedSet、Set、Collection、Iterable)。

在这个例子中,钻石继承有点奇怪,但如果有必要的话,这本身并不是一个糟糕的选择。但通常情况下,树的层次更清晰、更好。在这种情况下,我会考虑:

  1. SomeModelRepository是JPARepository的一个子类,从而迫使所有实现类都支持JPA。
  2. 在不同的接口中指定JPA支持,而不是Repository的子类。然后,所有类都可以选择是否独立于其特定的Repository接口来实现JPA。有关示例,请参见可序列化。这是一种事实上的解决方案,用于表明类支持“序列化”之类的特定特性,或者像本例中的“持久性”。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13258956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档