它是致命的死亡钻石吗?这是合理的依赖消除吗?

问题描述 投票:0回答:1

我通过 spring jpa 和 kotlin 开发了项目。

我的同事代码审查并想要删除 spring jpa 依赖。 这是同事代码。

interface AJpaRepository : JpaRepository<A, Long>, ARepository

interface ARepository {
 fun findById(id: Long): A?
}

@Service
class AService(val aRepository: ARepository) {
  fun serviceMethod() {
    aRepository.findById(1) // return A
  }
}

我知道kotlin不会出现致命的死亡钻石。
我认为这是致命的死亡钻石,但这个程序是有效的。 这不是死亡钻石吗?

如果不是死亡钻石,这就是合理的代码吗?

这是我的代码

interface ARepository : JpaRepository<A, Long>

@Service
class AService(val aRepository: ARepository) {
  fun serviceMethod() {
    aRepository.findById(1) // return A
  }
}
java spring kotlin spring-data-jpa repository
1个回答
0
投票

通过“致命的死亡钻石”,我假设您正在谈论多重继承问题(而不是某种有毒的石头)。 Kotlin 和 Java 不支持多重继承。您的示例中的代码不具有多重继承功能,因为只有一个类被继承。另一件事不是类,而是接口。

© www.soinside.com 2019 - 2024. All rights reserved.