Microsoft Updater Application Block 1.3.2 IDownloader接口设计 [翻译]

为让开发人员嵌入自定义下载器,需暴露DownloaderManager类中定义下载器类型的公共接口。IDownloader接口设计目标包括提供文件拷贝方法、支持多文件拷贝、鼓励异步下载及允许从配置文件获取参数。该接口有Init、Download等四个方法,位于特定命名空间。

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]

Public   Interface IDownloader
  
Inherits IDisposable

  
Sub Init (ByVal config As XmlNode)

  
Sub Download (ByVal sourceFile As StringByVal destFile As String, _
                
ByVal maxTimeWait As TimeSpan)

  
Function BeginDownload (ByVal sourceFile() As StringByVal destFile() As String) _
    
As Guid

  
Function GetJobStatus (jobId As Guid) As JobStatus
End Interface
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值