Arkadaşlar şu şekilde bir ihtiyaç var. Her türlü dosya formatını okuyabilecek(csv,txt,xls) ve birden fazla yöntemle okuyabilecek(interop,ado,diger) bir component yazıyorum. Ancak sınıf tasarımını nasıl yapmam gerektiğini tam olarak kafamda kurgulayamadım.
İlk önce şöyle düşündüm. Abstract bir FileReader sınıfı yapayım. Burada filePath bilgisini ve fileName bilgisini property olarak burada tutayım. Altında Bu sınıftan türeyecek CsvReader,XlsReader,TxtReader. Daha sonra ise Örnek XlsReaderdan da InteropXlsReader ve ADOXlsReader türeyecek. Kaynak: Wardomhttp://www.wardom.org/showthread.php?t=305982
Dosya formatına göre CSV mi Xls Readerın mı yaratılacağına FileReaderFactory sınıfı belirleyecek. ve Kullanıcı tercihine göre de Interop ile veya ADO ile istediği dosya formatını istediği formatta okuyabilecek.
İçinin kodu önemli değil sınıf tasarımı en iyi nasıl yapabilirim.Daha sonra yeni dosya formatı veya yeni okuma yöntemleri eklenebilir şekilde olmalı.
public abstract class FileReader { private string filePath; public string FilePath { get { return filePath; } set { filePath = value; } }
private string fileName; public string FileName { get { return fileName; } set { fileName = value; } }
private FileTypes fileType; public FileTypes FileType { get { return fileType; } set { fileType = value; } }