当前位置:  开发笔记 > 程序员 > 正文

如何在向用户报告进度时制作最干净的代码?

如何解决《如何在向用户报告进度时制作最干净的代码?》经验,为你挑选了1个好方法。

在过去的几个月里,我一直在努力想出一些干净的代码来向用户报告进度.一切似乎总是归结为:

ReportProgress("Starting Task 1");
doTask1();
ReportProgress("Task 1 is done");

ReportProgress("Starting Task 2");
doTask2();
ReportProgress("Task 2 is done");

//etc... where report progress does some form of output to the user.

我这个优秀的程序员尖叫着"必须有一个更清洁的方式!" 但我很难过.有什么想法吗?

编辑::我正在寻找更多有关架构信息的信息,而不是特定于实现的信息.给出的代码非常简单.



1> Steven A. Lo..:

将您的任务设置为事件流,并使事件处理"引擎"报告进度.如果您想要走得那么远,每个事件实例都可以有自己的名称,进度报告模糊/模板等

如果这是一种经常发生的模式,那么基础设施的努力是值得的.完成后,可用的代码可能如下所示:

EventQueue tasks = new EventQueue();
tasks.Add(new TaskEvent(this.doTask1,"Foo-ing the bar"));
tasks.Add(new TaskEvent(this.doTask2,"Bar-ing the foo"));
tasks.Add(new TaskEvent(this.doTask3,"Glitching and whinging"));
...
tasks.Execute(this.ProgressEventHandler);

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有