Как я могу сделать дизайн этого класса более динамичным, чтобы я мог добавлять новые расширения и типы по мере необходимости.Как создать метод, содержащий множество операторов IF или Switch
public class Processor
{
public Processor(string fileName)
{
string extension = Path.GetExtension(fileName);
if(extension == "jpg" || extension == "gif" || extension == "png")
{
//Process Image file type
}
else if(extension == "xls" || extension == "xlsx")
{
//Process spreadsheet type
}
else if(extension == "doc" || extension == "docx")
{
//Process document file type
}
//and so forth ...
}
}
Нам может понадобиться обработать .tiff файлы в будущем, или мы, возможно, придется обрабатывать видео файлы, а это означает новый, если филиал
else if(extension == "avi" || extension == "mp4")
{
//Process video file type
}
Как вы можете видеть, это может быть очень долго.
Допустимые типы файлов и группы хранятся в БД ...
Можно ли рекомендовать какие-либо образцы или умные идеи, чтобы решить эту проблему? Приветствия
HashSet может быть быстрее. –
Этот подход по-прежнему не затрагивает проблему очень долгого метода или проблемы обслуживания, при которой новый элемент if {} должен добавляться каждый раз при добавлении совершенно нового типа файла. – JeffH