Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
11
Переписывание фрагмента кода в соответствии с принципами SOLID
Условие задачи
Необходимо улучшить данный пример, устранив нарушения SOLID и сделав его более поддерживаемым и читаемым. Примените подходящие изменения к структуре класса и его методам.
public class BirthdayTemplateProcessor
{
public static UserDal UserRepository { get; set; } = new UserDal();
public static void GenerateTemplates(int[] ids)
{
string[] names = UserRepository.Query()
.Where(u => ids.Contains(u.Id))
.Select(u => u.UserName)
.ToArrayAsync().Result;
string messageTemplate = "Hello, dear {0}. Happy Birthday!";
string directoryPath = "C://templates/birthdays/";
foreach (var name in names)
{
System.IO.File.WriteAllText(directoryPath + name, string.Format(messageTemplate, name));
}
}
}