java - 与从兄弟包访问类相关的经验法则

标签 java package

是否有任何经验法则与您的包结构是否应允许从同级包中的另一个类访问某个类有关。

一个例子,我有一个代表登录页面的类:

project.page.login.LoginPage

还有一个代表帐户主页的类:

project.page.account.AccountHome

两个页面都访问项目的标准镶边(页眉、页脚、菜单内容和 BasePage),是否最好将这些类放在同级包中,例如project.page.chrome

project.page.chrome.BasePage
project.page.chrome.Menu
project.page.chrome.Footer
project.page.chrome.Header

或者在父包中:

project.page

例如

project.page.BasePage
project.page.chrome.Menu
etc

我知道这是一个风格上的经验法则问题,在某种程度上是主观的。
我想知道的是,对于此类事情是否有一个普遍接受的规则。如果是的话,每种方法的相关问题或好处背后的原因是什么。

进一步回答吸血鬼的问题。 我的问题不是您是否可以将一个同级包中的类引用到另一个同级包。问题在于您是否应该以及原因是什么(无论哪种方式)。

最佳答案

也许没有确切的规则,但有一些指导方针。 Link to answer to another similar question由于此答案出现在 SO 上,因此仅在此处粘贴链接。阅读鲍勃叔叔的文章可能会给您一些指导。

关于java - 与从兄弟包访问类相关的经验法则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38824536/

相关文章:

java - 日期输入验证 - 修复 java.lang.numberformatexception 错误

Python 包 - 按类导入,而不是文件

java - "import *"在 Java 中如何工作?

java - 从java中的包中导入不同的类

java - 如何将具有多个过滤条件的 if-else if 链接 block 代码转换为具有空检查的单个过滤条件?

java - 手动实现 Oauth2 授权代码授予流程

java - 如何取消recyclerView滚动?

android - 如何在 Android 中使用 XML 引用库中另一个包中的字符串?

sql - C 语言的 DB2 包

java - 不断询问,直到使用二维数组给出正确的值