Microsoft Updater Application Block IDownloader接口设计
译者:Tony Qu
问题描述
为了允许开发人员把他们自己下载器实现嵌入Updater Application Block,DownloaderManager类中的用于定义下载器类型的公共接口必须暴露给开发人员。
设计目标、问题
1. IDownloader接口的最显著的设计目标是,它必须提供一个方法,该方法能够从一个位置向另一个位置拷贝文件。
2. 为了得到最优的性能和效率,Updater Application Block的开发人员决定提供一个方法,该方法可以完成多个文件的拷贝功能。
3. 为了提供更有效率的下载支持,该接口必须鼓励开发人员通过暴露一种机制实现异步下载动作,该机制可以启动异步下载动作,并获得下载状态。
4. 最后,为了有更好的扩展性,该接口应该允许从应用程序配置文件获得初始化参数,并传给下载器。
解决方案描述
IDownloader接口构成了创建下载器类的基础,它将暴露出以下四个方法:
1. Init —— 用于初始化下载器
2. Download —— 用于下载单个文件
3. BeginDownload —— 用于启动多文件下载任务
4. GetJobStatus —— 用于获得一个异步拷贝动作的状态
具体实现
IDownloader接口位于Microsoft.ApplicationBlocks.ApplicationUpdater.Interfaces命名空间里,实现如下:
[VB.NET]

















