gpt4 book ai didi

java - 在较高级别包的类中使用较低级别包的 API 是个好主意吗?

转载 作者:行者123 更新时间:2023-12-01 19:22:45 25 4
gpt4 key购买 nike

较低级别的包是指包 a.b.c.d,较高级别的包是指 a.b.c,并且我已经使用了彼此相关的术语。我不确定是否有定义此类级别的术语。然而,从面向对象的角度来看,我想知道从 a.b.c.anotherClass.anotherMetod() 调用 a.b.c.d.aClass.aMethod() 是否是一个好主意。在我看来,a.b.c 的设计应该使其不知道 a.b.c.d 包,因为 a.b.c.d 代表 a.b.c 的更具体形式,或者逻辑上低于 a.b.c 的东西。

最佳答案

无论如何,不​​建议使包之间的依赖关系成为双向的。因此,如果您有从包 a.b.c 到 a.b.c.d 的依赖项,那么您不应该有从 a.b.c.d 到 a.b.c 的任何依赖项。这称为包缠结,通常表示应用程序的耦合度高且可能损坏分层。像Sonar这样的工具可以帮助您找到包裹缠结的情况。

我通常将 API 的接口(interface)放在较高级别的包中,将实现放在较低级别的包中。因此引用将从较低级别的包转到较高级别的包。

如果您的 API 驻留在较低级别的包中,您应该重新组织您的包。

关于java - 在较高级别包的类中使用较低级别包的 API 是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3211733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com