Sobes.tech
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 и улучшает структуру кода.