Junior — Middle
89
Жобаларыңызда Жалғыз жауапкершілік принципін (SOLID-тің D) қолданудың мысалын келтіре аласыз ба?
Сұралған компаниялар
Банк ПСБ
AI-дан жауап
sobes.tech AI
Принцип единственной ответственности (Single Responsibility Principle, SRP) из SOLID говорит, что класс должен иметь только одну причину для изменения, то есть отвечать за одну конкретную задачу.
В моих проектах я применял этот принцип, разделяя логику на отдельные классы. Например, в проекте по обработке заказов:
- Класс
Orderотвечает только за данные заказа (товары, количество, стоимость). - Класс
OrderValidator— за проверку корректности заказа. - Класс
OrderRepository— за сохранение заказа в базу данных. - Класс
OrderNotifier— за отправку уведомлений клиенту.
Такое разделение облегчает поддержку и тестирование, поскольку изменения в логике валидации не затрагивают сохранение или уведомления.
Пример на C#:
public class Order
{
public int Id { get; set; }
public List<Item> Items { get; set; }
}
public class OrderValidator
{
public bool Validate(Order order)
{
// Проверка заказа
return order.Items != null && order.Items.Count > 0;
}
}
public class OrderRepository
{
public void Save(Order order)
{
// Сохранение в БД
}
}
public class OrderNotifier
{
public void Notify(Order order)
{
// Отправка уведомления
}
}
Такой подход соответствует SRP и улучшает структуру кода.