可以初始化 Main class 中的所有 classes 吗?

Is it ok to initialize all classes inside the Main class?

最近我开始着手我的第一个更大的项目,我注意到更多 类 开始堆积起来 我以前从来没有超过 3 到 4 类,我想知道是否有某种缺点来初始化所有 类 并为 Main 中那些 类 的每个实例创建 getter一.

DatabaseClass db;
Commands cmds;
Configuration configuration;
public Configuration getConfiguration() { return configuration; }
public Commands getCommandsClass() { return cmds; }
public DatabaseClass getDatabaseClass() { return db; }
//Inside of some sort of method
    db = new DatabaseClass(this);
    cmds = new Commands(this);
    events = new Configuration(this);

然后我在某种方法中创建了新对象。 这是一种错误的方法吗? 有没有更好的方法来处理这个问题? 提前致谢!

尝试遵循层次结构,以职责为指导。

主要class将负责初始化应用程序的高级对象,但您应该让每个对象都具有初始化和操作知识的class .

这是一个很深的话题,但绝对是一项可行的技能。 寻找 GRASP 模式作为指南(GRASP 代表一般责任分配软件 Principles/Patterns),上面有一个很好的维基百科条目。

你正在做的是最基本的对象声明方式,这肯定会导致将来出现问题。一个问题是,它无法测试。

问:初始化 Main class 中的所有 class 是否可以?

答:简短的答案是 "NO"。

那我们在哪里初始化它们呢?

这取决于您的项目要求和您应用的设计模式类型。

你可以看看:https://www.javatpoint.com/design-patterns-in-java