суббота, 27 июня 2026 г.

Termins, Giga

Termins, Giga

https://giga.chat/link/gcsaGXcRer

1. Разделение ответственности (SRP)

  • Английское наименование: Single Responsibility Principle (Принцип единственной ответственности).
    • Также часто используется термин Separation of Concerns (Разделение обязанностей/задач), который является более широким архитектурным принципом.
  • Русская трактовка: Это принцип проектирования, согласно которому у класса или модуля должна быть только одна причина для изменения. В вашем примере это реализовано через разделение функций: один сервис (DataProcessingService) отвечает исключительно за генерацию данных, другой (ActionBlockHub) — за их маршрутизацию и исполнение, а третий (MetricsService) — за мониторинг. Такое разделение упрощает поддержку, тестирование и развитие системы, так как изменение логики в одной части не затрагивает другие.

2. Слабая связанность (DIP)

  • Английское наименование: Dependency Inversion Principle (Принцип инверсии зависимостей). Часто рассматривается в контексте слабой связности (Loose Coupling) и внедрения зависимостей (Dependency Injection).
  • Русская трактовка: Принцип гласит, что модули верхнего уровня не должны зависеть от модулей нижнего уровня. И те, и другие должны зависеть от абстракций (интерфейсов). В вашей архитектуре это выражается в том, что сервисы зависят от интерфейсов (IActionBlockHub, IBroadcastHub), а не от конкретных классов-реализаций. Это позволяет легко заменять одну реализацию другой (например, для тестирования или при изменении бизнес-логики) без необходимости переписывать код сервисов-клиентов.

3. Устойчивость к ошибкам / Отказоустойчивость

  • Английское наименование: Fault Tolerance (Отказоустойчивость) или Error Handling (Обработка ошибок).
  • Русская трактовка: Свойство системы сохранять свою работоспособность (возможно, с деградацией производительности) при возникновении сбоев в одном из её компонентов. В данном случае система спроектирована так, чтобы исключение, возникшее внутри одного обработчика (хендлера), не приводило к остановке всего конвейера обработки. Ошибка перехватывается, записывается в логи и учитывается в метриках, позволяя остальным задачам продолжать выполняться.

4. Graceful Shutdown

  • Английское наименование: Graceful Shutdown (Корректное завершение работы).
  • Русская трактовка: Процесс завершения работы приложения, при котором оно не обрывает активные операции внезапно, а выполняет ряд шагов для корректного сохранения состояния и освобождения ресурсов. Как описано в вашем примере, приложение сначала прекращает приём новых задач («останавливает генерацию»), затем дожидается полной обработки всех элементов, оставшихся во внутренних очередях («даёт время переварить остатки»), и только после этого полностью завершает свой процесс. Это предотвращает потерю данных и обеспечивает целостность операций.

Комментариев нет:

Отправить комментарий