0

所以就在这里。我想做一些测试下载管理器(winforms),并想使用4种不同的方式(管理器):
1. BackGroundWorker manager 2. Thread manager 3. ThreadPool manager 4. Delegate.BeginInvoke manager
从ftp下载。当然让它异步进行多下载,当我想添加新的下载时,以前的下载可能仍然有效。所以,我的问题是架构。我想这就像:
1)创建接口IDownloadManager。这里 - 枚举状态(空闲、下载、下载、取消、错误下载)、一些事件(DownloadStarted、DownloadComleted、DownloadCancelled、DownloadStopped)、Percent 方法、Start 方法。
2) ManagerFactory 类,创建选定的 Manager。
3) IManagerFactory 接口,用于处理创建 Manager
4) ManagerHost 类,存放当前管理者的所有信息。

谁能告诉我,我的架构错误在哪里?给我一些建议,建议等。感谢您的阅读和帮助!

4

2 回答 2

0

看起来不错。希望您设计的架构能够运行良好。

于 2012-11-01T09:55:28.093 回答
0

请记住,对所有这些“4 种不同方式”的取消或进展的支持最终会随着 BackgroundWorker 的实施而结束。backgroundworker 结合了线程池和同步上下文的使用来实现 UI 目的。

于 2014-12-13T12:27:33.533 回答