我需要调用函数来从程序{不同类}的不同位置重新计算参数.我需要使用可以在运行时间中更改的不同系数重新计算.
简单示例:new_value = old_value *系数.
目前,我有一个拥有这些系数的类,并且有正在进行重新计算的方法.缺点:我需要将该类的实例传递到我要使用它的每个地方.
这是我的单身人士:
public class Converter {
private double lbU_2_U;
private static Converter instance = new Converter();
public Converter() {
lbU_2_U = 1;
}
public static Converter getInstance() {
return instance;
}
public void updateVelocityCoeficient(double lb_2_p) {
lbU_2_U = lb_2_p;
}
public double velToP(double lbU) {
return lbU_2_U * lbU;
}
public double velToLB(double u) {
return u / lbU_2_U;
}
}
因此,现在的优势是,我可以在程序中的任何地方编写
newVelocity = Converter.getInstance().velToP(velocity)
向前走,我会做这样的事情:
newVelocity = Converter.velToP(velocity)
所以我正在考虑将我的Singleton更改为:
public class Converter {
private double lbU_2_U;
private static Converter instance = new Converter();
public Converter() {
lbU_2_U = 1;
}
public static Converter getInstance() {
return instance;
}
public static void updateVelocityCoeficient(double lb_2_p) {
instance.lbU_2_U = lb_2_p;
}
public static double velToP(double lbU) {
return instance.lbU_2_U * lbU;
}
public static double velToLB(double u) {
return u / instance.lbU_2_U;
}
}
你什么事
我不确定这是否有效,是否可以在multiThread应用程序中使用它,以及这是否是使用Singleton的正确方法.
谢谢
解决方法:
使用Singleton模式不是一个好方案.
标签:java
来源: https://codeday.me/bug/20191027/1945376.html