加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

一个好的TDD友好的.NET文件IO库

发布时间:2020-12-13 20:45:39 所属栏目:百科 来源:网络整理
导读:正如你们许多人所知,System.IO命名空间是非常糟糕的设计.我想要一个免费的库,以一种理智的方式包装文件IO功能(读取:不要求你在整个地方传递字符串).我记得前一段时间读过这些库中已经写了一小部分(并且作者对此没有更多感到惊讶).我认为这是其中一个人在 de
正如你们许多人所知,System.IO命名空间是非常糟糕的设计.我想要一个免费的库,以一种理智的方式包装文件IO功能(读取:不要求你在整个地方传递字符串).我记得前一段时间读过这些库中已经写了一小部分(并且作者对此没有更多感到惊讶).我认为这是其中一个人在 devlicious或 codebetter或 Los Techies做了其中之一.

有谁知道我在说什么或另一个好的文件IO包装?

编辑:我想我应该指定我做测试驱动开发,我的担忧主要(但不完全)围绕System.IO的测试友好性.

System.IO.FileInfo有什么问题?

我很好奇,所以开始使用ReSharper创建一组包装器.它花了我16分钟,我没有测试过,也不知道它是否符合你的需求.不过,我想我会概述我使用的过程:

>创建一个新的类库项目
>将Class1设为public并将其重命名为FileSystemInfoWrapper
>为它提供一个类型为FileSystemInfo的私有字段_fsi(解析该类以获取导入的命名空间)
>单击该字段,然后选择“在构造函数中初始化”
>再次单击该字段并使用ReSharper – >代码 – >生成(Alt Ins);选择生成委派成员;点击“公开”以获取所有公共成员
>对于FileInfo也一样,但也从FileSystemInfoWrapper派生并删除重复的成员(ReSharper本可以做得更好)
> DirectoryInfo也相同,但也派生自FileSystemInfoWrapper并修复重复项
>对于每个包装器,单击该类,然后使用ReSharper-> Refactor-> Extract Interface
>让IFileInfoWrapper和IDirectoryInfoWrapper从IFileSystemInfoWrapper派生,并删除重复项.

结果是接口包括相应类的方法和属性,以及委托给原始类并实现接口的具体类.然后,您应该能够创建自己的模拟类,并更改代码以使用接口,而不是直接使用System.IO具体类.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读