最近我开始做我的第一个更大的项目之一,我注意到更多的课程开始堆积起来 我以前从未有超过 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);
然后我在某种方法中创建新的对象。 这是一种错误的方法吗? 有没有更好的方法来解决这个问题? 提前谢谢你!
尝试遵循分层结构,以职责为指导。
主类将负责初始化应用程序的高级对象,但您应该将每个对象保留在具有初始化和操作它的知识的类中。
这是一个深刻的话题,但绝对是一个可行的技能。 寻找GRASP模式作为指南(GRASP代表一般责任分配软件原则/模式(,上面有一个很好的维基百科条目。
您正在做的是声明对象的最基本方法,这种行为肯定会在将来导致问题。一个问题是,它无法测试。
问:可以初始化主类中的所有类吗?
答:简短的回答是"否"。
那么我们在哪里初始化它们呢?
这取决于您的项目要求和您应用的设计模式类型。
你可以看看 : https://www.javatpoint.com/design-patterns-in-java