- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 JGit 做一些东西
情况是这样的。
用户将打开一个 git 存储库并以各种方式使用它。
在程序中这个存储库在Repository 类中有信息,各种函数将通过调用它来访问这个存储库。这个存储库最初是由构建器构建的。
FileRepositoryBuilder builder = new FileRepositoryBuilder();
Repository repository = builder.setGitDir(new File(repodir))
.readEnvironment() // scan environment GIT_* variables
.findGitDir() // scan up the file system tree
.build();
在制作程序时,我想我应该保持这个存储库打开并在整个程序中可用。我有一个想法来创建一个这样的类来保留当前打开的存储库
public class CurrentRepo{
private static Repository repository;
public static Repository getRepository(){
return this.repository;
}
public static void setRepository(Repository repository){
this.repository = repository;
}
}
之后我会调用
CurrentRepo.getRepository()
获取打开的版本库信息。
这会导致问题吗?这是一种糟糕的方式吗?
有没有更好的解决方案?
最佳答案
一般来说,我会说使用静态字段来存储这样的信息是可以的。但是,正如你所说的
I should keep this repository opened and usable through the program
最基本的问题是:您是否有可能在同一 JVM 中运行多个程序实例并打开不同的存储库?如果是这种情况,您应该避免使用静态字段(也称为全局变量)来存储此信息。尝试在您的程序中确定一个类,该类可以将您的信息存储为程序状态的一部分,该状态与程序一样长,而不是与 JVM 一样长。您仍然可以使用像 CurrentRepo
这样的类,它包含当前打开的存储库中的所有信息,但您不应将此信息存储在静态字段中。
关于java - 在 Java 程序上保留一个类是一个好方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25000404/
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 Improve th
所以我正在开发一个黑 jack 程序,但我有点卡住了。我会警告大家,我对编程真的很陌生,而且,我正在项目中期......所以有一些松散的结局和未使用的变量,以及一些不必要的逻辑(用于测试),但这就是我
我正在尝试创建一个可用作 OpenGL 测试工具的示例程序。到目前为止,我的那个似乎可以工作,但似乎忽略了通过统一变量 MVPMatrix 传递的 MVP 矩阵。当我添加代码以读回制服并检查它是否确实
感谢您帮助我,这是有关我的代码的部分。 printf("Thank you, now please enter the logic gate"); scanf("%s", &C); if (C ==
public static void ejemplosString(String palabra){ char[] letras = palabra.toCharArray();
所以,我有一个 php 应用程序,通过 cgi 和 nginx 运行。我有一个 .jar 程序,用于在条形码打印机(Zebra)上打印条形码,猜猜看是什么!。 我的 php 应用程序使用 exec()
我遇到的唯一问题是 getAll() 方法,它似乎在 PersonnelController 类中的位置立即运行。我也曾在其他很多地方尝试过,但都没有成功。 setAll() 方法看起来不错,我已经测
我是一名优秀的程序员,十分优秀!