TGViewer
Библиотека Java разработчика Библиотека Java разработчика @bookjava · 10K subscribers
Post #2833 2.12K
Ловушка тестирования простой оркестровки

Код оркестровки организует вызовы других компонентов (зависимостей) в определенный процесс. Такие части кода иногда называют координаторами или контроллерами. Оркестровочный код обычно прост. В нем нет (или почти нет) условной логики или алгоритмической сложности. Его основная задача - делегировать работу соответствующим зависимостям в определенном порядке. Давайте рассмотрим пример, чтобы лучше проиллюстрировать это.

class Orchestrator {
// ...

// (injected) dependencies
private final Service service; // business logic
private final Mapper mapper; // field-to-field mapping
private final Repository repository; // glue code

public ImportantObject orchestrate(ImportantDto dto) {
ImportantObject important = mapper.toImportantObject(dto);
ImportantObject processed = service.process(important);
return repository.save(processed);
}

}

https://mikemybytes.com/2024/01/17/the-trap-of-testing-simple-orchestration/

👉@BookJava
  • 👍 2
More from @bookjava
  1. Oct 10, 2026🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.r…
  2. Oct 8, 2026📌 Обход коллекций в Java: делаем правильно! Часто вижу, как разработчики по привычке испо…
  3. Oct 7, 2026📌 Stream API: забудьте про peek() Метод peek() в Java Stream API выглядит удобным для отл…
  4. Oct 5, 2026🧠 Dependency Inversion Principle (D в SOLID) Зависимости должны идти от высокоуровневой п…
  5. Sep 30, 2026Три похожих слова в Java — final, finally, finalize — но смысл у них совершенно разный. Ра…
  6. Sep 27, 2026🧠 Ленивая инициализация через Supplier — элегантная альтернатива double-checked locking К…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →