Bunu destekleyen bir dilde çalışıyorsanız, bir Akış gerçekleştiren bir Kaydetme yöntemi sağlarım. Bu şekilde kullanıcı verileri istediği yere kaydedebilir.
Yazmak sadece bir dosyaya kaydetmekten 20 saniye daha uzun sürüyor, ancak bir programcı tarafından kolayca anlaşılıyor ve çağrı yapan sitede gerçekte ne olduğu çok açık.
Bunu tanımlama şekliniz (girişi okuyan ve başka bir dosyaya çıktı veren bir nesne) aksi halde garip görünüyor. İnşaat sırasında her şeyi yapan bir nesne inşa etmenin amacı nedir?
Bu şekilde söyler misiniz?
var stuff = DoStuff();
new SaveFileWeirdClass(stuff);
return;
SaveFileWeirdClass herhangi bir makul uygulaması için sadece onu oluşturmaktan hiçbir yan etkisi beklenir. Dosya okuma - para cezası. Bir dosya mı oluşturuyorsunuz? Hayır.
Bana göre bu şekilde daha net görünüyor:
var stuff = new StuffReader(); //Better name needed...
string filePath = this.whatever;
using(Stream stream = new FileStream(filePath))
stuff.Save(stream);