Junior — Middle
შენი პროექტებში ერთგული პასუხისმგებლობის პრინციპის (SOLID-ის D) გამოყენების მაგალითი შეგიძლია მოყვე?
sobes.tech AI
პასუხი 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 и улучшает структуру кода.