首页 新闻 会员 周边

egg疼了,问个简单的问题吧

-1
悬赏园豆:5 [已解决问题] 解决于 2016-03-19 17:53

就问个比较那个啥的问题吧

 

假如现在写一个功能,下载不同的文件。大家会怎么组织代码呢?

是这样?

public void DownLoadFile(string fileName,string fileType){

  string downUlr = "";

  if(fileType=="picture"){

    downUlr = "AU";

  }else{

    downUlr = "BU";

  }

  //然后,下载去吧

}

 

又或者是这样

 

public void DownLoadPicture(string name){

  string url = "AU";

  DownLoad(url );

}

public void DownLoadOtherTypeFile(string name){

  string url = "BU";

  DownLoad(url );

}

 

public void DownLoad(string url){

  //下载

}

----------------------------------------------------------------

你们怎么看?

 

算了的主页 算了 | 初学一级 | 园豆:3
提问于:2016-03-18 17:04
< >
分享
最佳答案
0

方法 一般是从通用到 细化 

对于你上面的方法 这个就是通用的

public void DownLoad(string url){

  //下载url}

至于怎么获得这个 url 以及限制 后缀什么的那就需要细化

在执行 这个方法前 执行一个 

bool checkExt(string url,param string[] extarray)

{}

至于 后缀里面是 Picture 还是其他的什么 那么是更加细化的问题

 

总得来说 代码应该是这样

if(checkExt(url,"jpg","png"))

{

DownLoad(url);

}

收获园豆:5
小眼睛老鼠 | 老鸟四级 |园豆:2731 | 2016-03-18 17:59

回答的很用心。

不过,,,我问题也没说太清楚,

其实问题中下载不同文件,不是扩展名不一样,而是,, 图片,视频,mp3 这种差别

那么不同的文件,通常都会放到不同的目录吧(不管服务器上,还是本地)

那么下载和保存的时候 路径是不一样的(根据不同类型的文件而不同)

---

其实我这个问题没有什么正确的答案的。

这个答案写了这么多很用心,十分感谢

不过,不知道,我的问题这里描述的更清楚之后,答案会不会不同

哈哈 。。。我就这么一说,。,。这个方法也很好(还是那句话这个问题没有正确答案 哈哈)

算了 | 园豆:3 (初学一级) | 2016-03-18 20:06
其他回答(2)
0

做个简单的工厂就完了,更简单点就是放个字典

Daniel Cai | 园豆:10424 (专家六级) | 2016-03-18 18:05

 恩恩,,3Q for 回复,也是个办法

支持(0) 反对(0) 算了 | 园豆:3 (初学一级) | 2016-03-18 20:07
0

用第一种吧,可以减少代码量

刘宏玺 | 园豆:14020 (专家六级) | 2016-03-19 00:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册