Мы начнем с функционального, хоть и недостаточно совершенного, приложения на Angular. Через серию итераций мы будем рефакторить примерное приложение для большей расширяемости и масштабируемости. Мы будем опираться на принципы проектирования, основанные на предметной области, а затем рассмотрим практические способы ориентировать наше приложение вокруг бизнес-домена. Мы также увидим, как правильно сегментировать слои вашего приложения, чтобы отделить ваш фронтэнд от бэкэнда, увеличивая при этом возможности для написания более эффективных тестов.
Как организовать код и файлы в монорепозитории для уменьшения связности и одновременного стимулирования значимой согласованности.
Понимание того, как перенести бизнес-логику в автономные библиотеки, чтобы она могла быть повторно использована в легковесных фронтенд-приложениях, которые в конечном итоге могут быть объединены в единый, федеративный фронтенд.
Получение опыта разделения клиентского и серверного кода для повышения тестируемости.
Этот мастер-класс подходит для опытных разработчиков Angular, желающих создавать масштабируемые приложения.
FrontendMasters — одна из ведущих онлайн-платформ для изучения фронтенд- и веб-разработки. Курсы представлены в формате видеоворкшопов и преподаются практикующими экспертами из крупных технологических компаний. Платформа охватывает широкий спектр современных технологий (JavaScript, React, TypeScript и др.) и делает упор на глубокое понимание и применение знаний на практике.
Посмотрел курс. Советую посмотреть, по крайней мере 1-3 лекции. Само приложение очень далеко от того, что бывает в реальности. В реальности дизайн API далек от идеала и часто происходит так, что сначала несколько сущностей со стороны API существуют отдельно, ты пишешь store slices и все хорошо, а потом бизнес решает, что всех их надо связать и, в конце концов начинается спагетти из перекрестных вызовов и так и осталось непонятным, что делать в таких случаях. Судя по всему, делать какие-то shared компоненты / сервисы, но тогда уже и код не будет выглядеть изолированным. Для примеров автора подошла бы библиотека ngrx/@data , которая бы сразу инкапсулировала всю CRUD логику. Но опять же, я пока что не встречал в аутсорсе такого API, где эту библиотеку можно было бы использовать.
mill9r mill9r
ngrx/@data - deprecated
alex.broad
это конечно мучение смотреть, как он ни один пример до ума довести не может
mill9r alex.broad
по большому счету не так это и важно. Скорее полезно посмотреть на структуру и от чего отталкивается автор (DDD) при создании его.
Для примеров автора подошла бы библиотека ngrx/@data , которая бы сразу инкапсулировала всю CRUD логику. Но опять же, я пока что не встречал в аутсорсе такого API, где эту библиотеку можно было бы использовать.