だからここにあります。
いくつかのテスト ダウンロード マネージャー ( winforms ) を作成し、4 つの異なる方法 (マネージャー) を使用したい:
1. BackGroundWorker マネージャー 2. スレッド マネージャー 3. ThreadPool マネージャー 4. Delegate.BeginInvoke マネージャー
もちろん、マルチダウンロード用に非同期にします。新しいダウンロードを追加したい場合は、以前のダウンロードが引き続き機能する可能性があります。だから、私の問題は建築です。私はこれを次のように想像します:
1) インターフェイス IDownloadManager を作成します。ここに - 列挙型ステータス (Idle、download、downloaded、canceled、errorDownloaded)、いくつかのイベント (DownloadStarted、DownloadComleted、DownloadCancelled、DownloadStopped)、Percent のメソッド、Start のメソッド。
2) 選択したマネージャーを作成する ManagerFactory クラス。
3) Manager の作成を処理する IManagerFactory インターフェイス
4) 現在のマネージャーのすべての情報を格納する ManagerHost クラス。
私のアーキテクチャの間違いはどこにあるのでしょうか。アドバイス、提案などをください。読んで助けてくれてありがとう!