oop - 您如何重构应用程序中的入口点类?
问题描述
我有这个现有的课程设置。这是我的入口点类。
public class AppManager {
public AppManager() {
}
public void startApp(){
doInit();
if(doTask1())
doTask2();
else
doTask3();
createUI()
}
public void doInit() {
InitClass initClass = new InitClass();
initClass.init();
}
public boolean doTask1() {
Task1 task1 = new Task1();
return task1.doTask();
}
public boolean doTask2() {
Task2 task2 = new Task2();
return task2.doTask();
}
public boolean doTask3() {
Task3 task3 = new Task3();
return task3.doTask();
}
public void createUI() {
UIManager uiManager = new UIManager();
uiManager.createUI();
}
public static void main(String[] args) {
AppManager appManager = new AppManager();
appManager.startApp();
}
}
我想对它进行一些重构。我认为它正在做一些事情,但我不知道如何?我尝试创建任务特定类,以便我可以将工作委派给他们。
但我认为我的入口点类仍在做很多事情。根据良好的设计“一个类应该只做一件事”。
为简洁起见,我有意省略了其他任务。
不确定我的问题是否清楚,但我只是想改进我的代码。
在这种情况下,我使用了 java 代码,但我认为这仍然适用于其他语言。
如何重构?
解决方案
推荐阅读
- angular - 如何将 amcharts4 XY 图表制作为可重用组件
- python - Discord.py 收集表情符号反应并利用它们制作功能
- c - SDL 显示空白窗口,就像它已经崩溃一样
- angular - 使用 mat 选项卡在单击时加载角度分量
- api - 对 GPU 驱动程序的 Vulkan API 调用
- php - 当页面不是该菜单项的子项时,如何将活动类添加到 Wordpress 菜单项?
- spring - 创建 bean 时出错:'org.springframework.aop.config.internalAutoProxyCr.Beaeator'
- javascript - 我在打字稿中有一个自定义事件,我只想创建一次自定义事件对象,而后者想使用相同的对象
- c# - 等待 SecureStorage.GetAsync("Key"); 返回空
- linux-kernel - am335x如何使用serdev驱动?