Я пытаюсь понять, как использовать библиотеку компонентов Stuart Sierra в приложении Clojure. От просмотра его видеоролика Youtube, я думаю, что у меня есть хорошее понимание проблем, которые привели к его созданию библиотеки; однако я изо всех сил пытаюсь понять, как использовать его на новом, достаточно сложном проекте.
Я понимаю, что это звучит очень расплывчато, но мне кажется, что есть ключевое понятие, которое мне не хватает, и как только я это понимаю, я хорошо пойму, как использовать компоненты. Другими словами, документы и видео Стюарта подробно рассматриваются в деталях WHAT и WHY компонентов, но мне не хватает HOW.
Есть ли какой-нибудь подробный учебник/пошаговое руководство, которое гласит:
- почему вы использовали бы компоненты вообще для нетривиального приложения Clojure
- - методология того, как вы нарушаете функциональность в нетривиальном приложении Clojure, чтобы компоненты могли быть реализованы в разумно оптимальном порядке. Это достаточно просто, когда все, что у вас есть, например, базы данных, сервера приложений и уровня веб-сервера, но я изо всех сил пытаюсь понять, как вы будете использовать его для системы с множеством разных уровней, которые все должны работать согласованно.
- способы подхода к разработке/тестированию/отказоустойчивости/и т.д. в нетривиальном приложении Clojure, которое было построено с использованием компонентов
Заранее спасибо