EGround
Редактор
- Сообщения
- 24.288
- Реакции
- 127
Складчина: [Udemy] Основы Domain Driven Design [Андрей Суховицкий]
Описание
Этот курс по Domain Driven Design (DDD) предназначен для разработчиков любого уровня подготовки, архитекторов и проектных менеджеров, стремящихся глубоко понять и применять принципы DDD для создания четких и эффективных программных решений. В ходе обучения вы освоите методы моделирования предметной области, что позволит вам разрабатывать программное обеспечение, идеально отражающее бизнес-потребности.
Курс погружает вас в основы создания универсального языка, облегчающего коммуникацию внутри команды и между заинтересованными сторонами. Вы узнаете, как определять ограниченные контексты, что помогает организовать систему таким образом, чтобы минимизировать зависимости и упростить поддержку. Методика выделения ограниченных контекстов является одной из наиболее эффективных и обоснованных при разделении системы на микросервисы.
Особое внимание уделяется разработке агрегатов как единиц изменения, обеспечивающих консистентность и транзакционную безопасность данных. Реальные примеры позволят вам научиться создавать структурированные, устойчивые к изменениям модели, способствующие эффективной и надежной работе приложений.
В курсе обсуждаются вопросы транзакционности, реализации атомарных обновлений агрегатов. Разбираются термины ACID с фокусом на понятия атомарности и изоляции транзакций. Приводятся примеры аномалий, возникающих в слабо-изолированных транзакциях. Кроме классической реализации транзакций СУБД, рассказывается о технике оптимистичной блокировки и возможностях ее применения для атомарного обновления агрегатов.
Завершив курс, вы не только глубже поймете, как строить программы, соответствующие сложным бизнес-требованиям, но и сможете уверенно руководить разработкой сложных систем, применяя на практике лучшие методы DDD.
Для кого этот курс:
- Младшие специалисты и студенты, ищущие углубленные знания в области разработки ПО, которые хотят выделиться на рынке труда, получив компетенции в современных методологиях проектирования.
- Профессионалы, имеющие опыт в разработке программного обеспечения и желающие улучшить свои навыки в проектировании архитектуры приложений, заинтересованые в изучении DDD для создания более чистого, модульного и масштабируемого кода.
- Эксперты, стремящиеся глубже понять принципы проектирования и управления сложными системами, чтобы повысить качество архитектурных решений в своих организациях.
- Руководители разработки, заинтересованные в методиках и подходах, которые помогают улучшить координацию и понимание между членами команды, особенно в мультидисциплинарных и распределенных командах.
Автор:
Андрей Суховицкий. На данном ресурсе были уже темы с данным автором по RabbitMQ и Event Sourcing.
Цена: 5990руб возможно будут скидки или купоны.
Спойлер: Содержание 1.Основные концепции DDD: Domain, subdomain, ubiquitous language, bounded context.
- Введение
- Предметная область (Domain)
- Повсеместный язык (Ubiquitous language)
- Ограниченный контекст (Bounded context)
- Как поддомены согласуются с ограниченными контекстами
2.Концепт сущности (Entity) в DDD. Идентификаторы сущностей и генерация ID.
- Что такое сущности (Entity)
- Entity identity. Понятие идентичности сущностей
- Application generated id. Генерация ID на стороне приложения
- Persistent mechanism assigns identity. СУБД герерирует ID
- Timing of ID generation. Ранняя и поздняя генерация ID
3.Концепт объекта-значения (Value object) в DDD. Отличия Value object от Entity.
- Value objects VS Entity. Разница сущностей и объектов-значений
- Объекты значения (Value objects)
4.Концепт агрегата (Aggregate) в DDD.
- Введение в агрегаты (Aggregates)
- Update unit. Агрегат как единица обновления.
- Инварианты. Агрегаты как транзакционная граница
- Реализация агрегата с атомарными операциями
- Изоляция транзакций и уровни изоляции
- Оптимистичные блокировки
- Можно ли реализовать агрегат с помощью другой СУБД
- Вопросы формирования агрегата и выбора его размера
- Size matters. Почему мы не хотим делать агрегаты слишком большими?
- Виды согласованности — строгая и конечная (eventual consistency)
- Выбираем размеры наших агрегатов.
Материал «[Udemy] Основы Domain Driven Design [Андрей Суховицкий]», возможно, скоро появится на EGROUND.
Воспользуйтесь поиском, может быть, он уже опубликован.