良好的编程实践与集中变量

And*_*427 8 java oop

当处理需要相同变量实例的多个类时,创建一个中心变量是一种很好的编程习惯吗?

chatWindow.variables.username = userField.getText();
Run Code Online (Sandbox Code Playgroud)

例如:

  1. 我有一个包含一定数量变量的类
  2. 我有另一个需要相同变量的类
  3. 而另一个需要与第一个相同的变量

所以我有三个类都使用相同的变量实例

我只使用第一个类创建变量类实例(1)

我通过类(1)使用类(2),(3)访问这些变量

示例:(在classTwo()中):

classOne.variableClass.VariableName = false;
Run Code Online (Sandbox Code Playgroud)

编辑:在基本形式,我的问题是,如果可以创建一个中心的"变量类"并使用其他类通过主类访问它的相同的isntance.

我知道我的问题很难理解,但我确信还有另一种更简单的方法.我尝试通过第二和第三类的构造函数传递第一个类的相同实例,但我的解决方案有些简单.

Joe*_*ckx 5

这有点像羡慕的特征 ......当你这样做时,你的模特听起来有些不对劲.

如果需要在多个类中更改一组变量,它可能应该成为一个对象(可能甚至是一个实体).但是你应该考虑如果你需要在其他类中更改这些值,你可能需要在同一个类中放置一些逻辑(进行验证检查等).

有一个额外的类只是为了保持变量通常被认为是代码气味,称为贫血域.然而,有些情况确实需要它,无论如何它可能是一个品味问题.在这种情况下,你的班级只不过是一个美化的结构.