Скачать [Thinknetica PRO] Dry-rb: что, зачем и как (2022)

Скачать [Thinknetica PRO] Dry-rb: что, зачем и как (2022)
0
177

IvX

Команда форума
Модератор
Сообщения
8,867
Реакции
148
2
Автор: Thinknetica PRO
Название: Dry-rb: что, зачем и как (2022)

Описание:

Программа:


Период 1. Зависимости, DI, IoC containers. Берем коробок проекта.

Раньше всего понадобится сориентироваться в зависимостях в коде, т. в любых библиотеках, классах, модулях, функциях и прочем, что используется как правило юните.
Сориентируемся в двух методах наблюдения зависимостях: Dependency Injection и базовом. Поглядим будто DI подсобляет в написании юнит и интеграционных тестов.
Дабы не надбавлять запутанность - сориентируемся с IoC-контейнерами, реализацией какого представляется dry-container.
Для менеджмента загрузки осмотрим dry-system. Напоследок осмотрим сопоставимый проект, некоторый дозволит прибавлять каждые пласты в систему.
В конечном итоге у вас появится возможность:

Разобраться, что таковое dry-rb не касаясь частностей и что самое характерно таковое Layered architecture style и какие трудности он решает. И сориентироваться будто подсобляет DI и контейнеры в создании текстуры приложений. После, нацарапаем свое первое использование используя dry-system.

Период 2. Строчим бизнес логику. Railway, result objects и валидации.

Для работы с бизнес логикой мы осмотрим railway паттерн, некоторый разрешает объединять промышленные шаги бизнес хода в цепочку, в какой всякий ход возможно увенчать весь процесс.
чтобы, дабы railway заработал - мы возьмем DO-notations изо dry-monads будто порядок реализации паттерна. Обсудим будто и для что утилизировать монады.
А чтобы не сомневаться, что схема данных, с какой мы функционируем и какую строчим в базу валидна - воспользуемся dry-schema и dry-validation.
В конечном итоге у вас появится возможность:

Выучиться утилизировать railway подъезд для описания бизнес логики. Разберетесь отчего необходимы монады как result objects и как валидировать материалы и бизнес логику.

Период 3. Добиваем пневмотранспортный и персистенс слои. Кумекаем с прочими dry-rb библиотеками.

Осмотрим методы прибавления разнообразных транспортов (http, rabbit, kafka) и persistence-библиотек (rom, sequel, etc) и восполним свой проект.
Коротко осмотрим оставшиеся dry библиотеки и побеседуем где их использовать. И при чем тут функциональные объекты.
Обсудим, что дальше возможно мастерить с текстурой заготовки и как ее изменять. Что добавлять, что убирать, как выйти к slice и hexagonal структуре.
В конечном итоге:

Сконцентрируем налаженность в единый кусок.
Осмотрим будто приплюсовать всякий способ передвижения и персистенс слой.
Осмотрим оставшиеся библиотеки изо dry-rb экосистемы.
Обсудим, последующие шаги ради вырабатывания сиречь для использования намеренной болванки.

Разберетесь, отчего необходим dependency injection, будто он помогает в поддерживаемости, тестируемости и модульности приложений.
Поймете, около чем тут Inversion of Control (IoC)-контейнеры и какие виды анализа, на основе подневольностей в контейнерах, возможно утилизировать
Познакомитесь с паттерном railway (не перепутывать с rails way) и узнаете, будто данный подъезд подсобляет в написании бизнес логики, какая возможно зафейлиться на любом из шагов.
Какие варианты валидации могут существовать и как написать валидатор ради всякий схемы данных.
Организуете беспритязательный коробок сервиса, в каком применяют каждые библиотеки для транспорта (как ради консьюминга, этак и для http/rpc вызовов) и любые библиотеки ради персистенса, не исключительно AR или rom.
Узнаете, какие варианты валидации могут являться и как составить валидатор для любой схемы данных.
Познакомитесь с употреблением монады

Скачать:
 
8,908Темы
9,810Сообщения
12,539Пользователи
OLDmax007Новый пользователь
Сверху