Я работаю над проектом ASP.Net MVC с LinqToSQL и многослойным.Пользователи будут выгружать файлы, в основном файлы Excel и Access, и мой сервисный уровень выполнит всю его проверку и другие вещи.
Я думал о реализации абстрактного класса с именем «UploadManager» и двух дочерних классов: «UploadExcel»и «UploadAccess».Некоторые методы будут общими для обоих классов, например «SaveFile» и «DeleteFile».Но некоторые другие методы будут ограничены определенным дочерним классом, таким как «ValidateWorksheet», который будет принадлежать только классу «UploadExcel».
Я проектировал что-то вроде этого:
public abstract class UploadManager
{
protected void SaveFile(string fileName)
{
//Implement
}
protected void DeleteFile(string fileName)
{
//Implement
}
}
public class UploadExcel : UploadManager
{
private bool ValidateWorksheet()
{
//Implement
}
}
public class UploadAccess : UploadManager
{
private bool ValidateSomethingAboutAccess()
{
//Implement
}
}
Я тоже думал об использовании интерфейсов.Но мое главное сомнение в том, как я могу узнать, какой дочерний класс мне нужно создать?Если загруженный файл является файлом Excel, это будет «new UploadExcel()
», а если это файл Access, это будет «new UploadAccess()
».
Есть ли способ сделать это?Есть ли способ лучше?Я немного потерян с этим ...
Спасибо заранее !!