你有一個類的方法有2個參數,其中一個是文件路徑,另一個是不相關的。單元測試,重構,IO
InterestingResult result = foo.Bar(irrelevant, filePathInfo);
在具有快速活潑的單元測試的精神,你會發現自己考慮重構這個方法拉出刪除此測試的IO要求的文件路徑...最有可能把它變成另一種方法,所以那現在你會打電話
string dataInFile = foo.GetDataInFile(filePathInfo);
InterestingResult result = foo.Bar(irrelevant, dataInFile);
你瘋了嗎?......還是這是件好事?
流是要走的路。路徑接口可能會令人生氣。如果你需要尋求支票流.CanSeek並適當拋出。 – plinth 2009-01-19 17:03:31