หากคุณกำลังทำงานในภาษาที่รองรับฉันจะให้วิธีการบันทึกที่ใช้กระแสข้อมูล ด้วยวิธีนี้ผู้ใช้สามารถบันทึกข้อมูลได้ทุกที่ที่ต้องการ
ใช้เวลาในการเขียนนานกว่า 20 วินาทีกว่าการบันทึกลงในไฟล์ แต่โปรแกรมเมอร์เข้าใจได้ง่ายและที่ไซต์การโทรมันชัดเจนว่าเกิดอะไรขึ้นจริง
วิธีที่คุณอธิบาย (วัตถุที่อ่านอินพุตและส่งออกไปยังไฟล์อื่น) มิฉะนั้นดูเหมือนว่าแปลก วัตถุประสงค์ของการสร้างวัตถุที่ทำทุกอย่างในระหว่างการก่อสร้างคืออะไร?
คุณจะเรียกมันด้วยวิธีนี้ไหม
var stuff = DoStuff();
new SaveFileWeirdClass(stuff);
return;
สำหรับการใช้งานที่เหมาะสมของ SaveFileWeirdClass ฉันคาดว่าไม่มีผลข้างเคียงจากการสร้างมันขึ้นมา อ่านไฟล์ - ดี กำลังสร้างไฟล์หรือไม่? เลขที่
สำหรับฉันดูเหมือนชัดเจนมากขึ้นด้วยวิธีนี้:
var stuff = new StuffReader(); //Better name needed...
string filePath = this.whatever;
using(Stream stream = new FileStream(filePath))
stuff.Save(stream);