Ежедневно, с 8:30 до 22:30
Предзаказ
1741

Основы Domain Driven Design

Средняя оценка 0.0 из 5 на основании 0 голосов (0)
2 0
0
Автор:
Андрей Суховицкий
900 ₽
5990 ₽
-85%
Кэшбэк: 5% (45 ₽)
Курс будет выдан в течение 1-3 часов после оплаты.
Категории:

Этот курс по Domain Driven Design (DDD) предназначен для разработчиков любого уровня подготовки, архитекторов и проектных менеджеров, стремящихся глубоко понять и применять принципы DDD для создания четких и эффективных программных решений. В ходе обучения вы освоите методы моделирования предметной области, что позволит вам разрабатывать программное обеспечение, идеально отражающее бизнес-потребности.

Курс погружает вас в основы создания универсального языка, облегчающего коммуникацию внутри команды и между заинтересованными сторонами. Вы узнаете, как определять ограниченные контексты, что помогает организовать систему таким образом, чтобы минимизировать зависимости и упростить поддержку. Методика выделения ограниченных контекстов является одной из наиболее эффективных и обоснованных при разделении системы на микросервисы.

Особое внимание уделяется разработке агрегатов как единиц изменения, обеспечивающих консистентность и транзакционную безопасность данных. Реальные примеры позволят вам научиться создавать структурированные, устойчивые к изменениям модели, способствующие эффективной и надежной работе приложений.

В курсе обсуждаются вопросы транзакционности, реализации атомарных обновлений агрегатов. Разбираются термины ACID с фокусом на понятия атомарности и изоляции транзакций. Приводятся примеры аномалий, возникающих в слабо-изолированных транзакциях. Кроме классической реализации транзакций СУБД, рассказывается о технике оптимистичной блокировки и возможностях ее применения для атомарного обновления агрегатов.

Завершив курс, вы не только глубже поймете, как строить программы, соответствующие сложным бизнес-требованиям, но и сможете уверенно руководить разработкой сложных систем, применяя на практике лучшие методы DDD.

Содержание курса

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)
  • Выбираем размеры наших агрегатов.

Для кого этот курс:

  • Младшие специалисты и студенты, ищущие углубленные знания в области разработки ПО, которые хотят выделиться на рынке труда, получив компетенции в современных методологиях проектирования.
  • Профессионалы, имеющие опыт в разработке программного обеспечения и желающие улучшить свои навыки в проектировании архитектуры приложений, заинтересованые в изучении DDD для создания более чистого, модульного и масштабируемого кода.
  • Эксперты, стремящиеся глубже понять принципы проектирования и управления сложными системами, чтобы повысить качество архитектурных решений в своих организациях.
  • Руководители разработки, заинтересованные в методиках и подходах, которые помогают улучшить координацию и понимание между членами команды, особенно в мультидисциплинарных и распределенных командах.
Характеристики
Наличие Предзаказ Тип Видео Продолжительность 1 час 42 мин Размещение на сайте 30.09.2024 Артикул 1741

Отзывы и комментарии

Отзывов ещё нет, будьте первыми

Написать отзыв
Нажимая "Отправить" Вы соглашаетесь с правилами публикации и даёте согласие на обработку персональных данных. Администрация не несёт ответственности за содержание отзывов.

Похожие товары:

Постер товара: Domain Driven Design (DDD) для начинающих
Скидка 75%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Domain Driven Design (DDD) для начинающих
Микросервисы и DDD
Постер товара: Domain Driven Design и Clean Architecture на языке Go
Скидка 90%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Domain Driven Design и Clean Architecture на языке Go
Go (Golang)
Постер товара: Domain Driven Design в Ruby-приложениях
Скидка 56%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Domain Driven Design в Ruby-приложениях
Ruby on Rails
Постер товара: Основы SQL: SELECT, JOIN, DML, DDL, TCL, DCL
Скидка 81%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Основы SQL: SELECT, JOIN, DML, DDL, TCL, DCL
SQL для начинающих
Постер товара: Реляционные базы данных в веб приложениях
Скидка 90%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Реляционные базы данных в веб приложениях
Проектирование и администрирование БД
Постер товара: Приложения с использованием Event Sourcing, CQRS, DDD
Скидка 85%
Предзаказ
Средняя оценка 5.0 из 5 на основании 1 голосов
Приложения с использованием Event Sourcing, CQRS, DDD
Event-Driven и CQRS
Постер товара: Базы данных для разработчиков
Скидка 90%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Базы данных для разработчиков
Базы данных и SQL
Постер товара: Изучение языка C++, WinForms и SQL
Скидка 68%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Изучение языка C++, WinForms и SQL
C и C++