在我的应用程序中,我有一个Controller
由 main 方法启动的。控制器初始化钩子、数据库连接、UI、另一个连接和其他东西。它拥有程序的大部分状态(不,它不是单例)。在另一个示例中,机器人的控制器处理解释和发送命令。两者都是相当大的文件。
我已经阅读了有关上帝对象的内容,但我真的不知道如何将其拆分。如果我在 bot 中拆分解释器和调度器,它将产生一个可怕的调用链(类似于getBot().getParser().getOutput().sendMessage(recipient, message)
)。同样,在第一个控制器中,如果我将它们分开,您将只有包含字段和一些别名实用程序方法的 Data 对象。把它们分开只会让事情变得更糟。在你认为它不可维护之前,它实际上不是。我什至没有编写 Bot 控制器,但我仍然知道发生了什么。
但问题是 Bot 类有 2000 行长(如果我去掉 Javadoc 注释,可能会更短),而 Bot 大约有 1000 行长。很多行=上帝的对象。但是一个项目的一两个核心类可以吗?