在大量类之间共享变量的最佳方法是什么



我正在使用Java进行一些复杂的计算,并且有很多类需要访问许多相同的变量。这些变量设置在不同的计算阶段,在不同的类中。问题是我的代码变得非常混乱,因为我被迫将相同的参数传递给许多不同的方法。

我正在寻找人们对这里最好的方法的想法?我的一个想法是创建一个设置了所有这些变量的超类,并将这个类扩展到任何需要的地方。

另一种选择是将保存所有这些信息的对象从一个方法传递到另一个方法,但这似乎过于复杂。对我来说,这两种解决方案都不是最干净的方法。任何可能对我有帮助的设计模式/想法的想法或建议,我们将不胜感激。感谢您的帮助。

我建议使用Wrapper对象是最好的方法。确保所有字段都是不可变的(在 Java 中final关键字)。使用BuilderPrototype模式创建新对象以返回。

使用单例怎么样?这样,您就可以全局访问它而无需传递任何实例,并且所有变量都将在一个屋檐下,从而减少混乱。

我会重新命令将问题世界(即变量)与算法(即计算)分开。算法将在问题世界中传递,并相应地对其进行修改。这可以看作是访客模式的实现。

根据复杂性(变量数量、算法数量、解决方案路径的完整性),您还可以实现黑板架构。但我认为这将是矫枉过正,如果你不做人工智能方面的一些事情......

如果要传递大量值,也许内存数据库将是一个合适的解决方案。如今,许多数据库都提供内存引擎,例如MariaDB。

创建一个子类的超类,然后在每次需要拉取信息时引用超类的那些子类

相关内容

最新更新