Ho Lee Fuk

БСнсСй
βš” ΠΠ”ΠœΠ˜ΠΠ˜Π‘Π’Π ΠΠ’ΠžΠ  βš”
РСгистрация
22 Π€Π΅Π²Ρ€Π°Π»ΡŒ 2018
БообщСния
11.997
Автор: Π’Π΅Ρ‚Ρ‡ΠΈΠ½ΠΊΠΈΠ½

НазваниС: Domain Driven Design ΠΈ Clean Architecture Π½Π° языкС Go (2025)

78f09b053a14552eb76d6abaaea29e92.jpg


ОписаниС:

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°: microarch

Β«Domain Driven Design ΠΈ Clean Architecture Π½Π° языкС GoΒ» β€” это практичСский курс для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠ΅, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ микросСрвисы Π½Π° Go. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π΄Π²Π° ΠΌΠΎΡ‰Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° β€” DDD ΠΈ Clean Architecture β€” ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… Π½Π΅ Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ, Π° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ backend-сСрвисов.

ΠšΡƒΡ€Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Π½ΡƒΡŽ модСль, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ слои прилоТСния, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ зависимостями, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ, ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ микросСрвис, Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ срСдС. Основной ΡƒΠΏΠΎΡ€ сдСлан Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ: Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ обучСния Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ ΠΈ Ρ€Π°Π·Π±ΠΎΡ€ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Go-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° Ρ€Π°ΠΌΠΊΠΈ простой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ API ΠΈ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСмы Π½Π° Π±ΠΎΠ»Π΅Π΅ Π·Ρ€Π΅Π»ΠΎΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Π’Π°ΠΊΠΆΠ΅ курс Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ с ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, Ссли ΠΎΠ½ΠΈ хотят ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ DDD, Clean Architecture ΠΈ ΠΌΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ Π½Π° Go.

ΠšΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ курс:

- Go-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ
- Backend-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ с микросСрвисами
- Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ DDD Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅
- Π’Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ Clean Architecture Π±Π΅Π· абстрактной Ρ‚Π΅ΠΎΡ€ΠΈΠΈ
- Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ
- Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, пСрСходящим ΠΊ Go ΠΈ систСмному ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ
- Π’Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ Π·Ρ€Π΅Π»Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ

Π§Ρ‚ΠΎ Π²Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ Π½Π° курсС:

- ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Clean Architecture
- ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Domain Driven Design
- ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ
- Π Π°Π±ΠΎΡ‚Ρƒ с Entity, Value Object, Aggregate ΠΈ Repository
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ REST API ΠΈ gRPC-ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ
- ОбмСн событиями Ρ‡Π΅Ρ€Π΅Π· Kafka
- ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Outbox ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…
- ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ микросСрвиса Π½Π° Go с нуля

DDD ΠΈ Clean Architecture особСнно Π²Π°ΠΆΠ½Ρ‹ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Π³Π΄Π΅ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° постСпСнно услоТняСтся. Если Π½Π΅ Π²Ρ‹ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π·Π°Ρ€Π°Π½Π΅Π΅, ΠΊΠΎΠ΄ быстро прСвращаСтся Π² Π½Π°Π±ΠΎΡ€ зависимых ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², сСрвисов, DTO ΠΈ инфраструктурных Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ. ΠšΡƒΡ€Ρ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ систСмы.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹:

- Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ отвСтствСнности ΠΌΠ΅ΠΆΠ΄Ρƒ слоями прилоТСния
- ПониманиС ΠΏΠΎΡ‚ΠΎΠΊΠ° управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ
- ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Π°Ρ организация зависимостСй
- Π Π°Π±ΠΎΡ‚Π° с абстракциями
- Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΊΠ°ΠΊ ядра систСмы
- Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ связанности ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ ΠΈ инфраструктурой
- ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»Π΅Π³Ρ‡Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ

Clean Architecture ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ бизнСс-ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½Π΅ зависСли ΠΎΡ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², транспортного слоя ΠΈΠ»ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… сСрвисов. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ, тСстированиС ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, особСнно ΠΊΠΎΠ³Π΄Π° трСбования ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ.

Domain Driven Design Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅:

- ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Value Object
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Entity
- Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ† Aggregate
- ИспользованиС Domain Service
- ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Repository
- Π Π°Π±ΠΎΡ‚Π° с Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ событиями
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π½Ρ‚ΠΈ-ΠΊΠΎΡ€Ρ€ΡƒΠΏΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ слоя

DDD ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ систСмС языком ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π²ΠΎΠΊΡ€ΡƒΠ³ Ρ‚Π°Π±Π»ΠΈΡ† Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ тСхничСских слоёв, Π²Ρ‹ ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ сущности, ΠΏΡ€Π°Π²ΠΈΠ»Π°, события, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ бизнСс-процСссы.

ДомСнная модСль:

- Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ бизнСс-сущности
- ΠŸΠΎΠΉΠΌΡ‘Ρ‚Π΅ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Entity ΠΈ Value Object
- Π Π°Π·Π±Π΅Ρ€Ρ‘Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΠ²
- ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄ΠΎΠΌΠ΅Π½Π°
- ΠŸΠΎΠΉΠΌΡ‘Ρ‚Π΅, ΠΊΠ°ΠΊ Π½Π΅ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ с инфраструктурой

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ домСнная модСль Π΄Π΅Π»Π°Π΅Ρ‚ систСму понятнСС. Когда бизнСс-ΠΏΡ€Π°Π²ΠΈΠ»Π° находятся Π² Π΄ΠΎΠΌΠ΅Π½Π΅, Π° Π½Π΅ Ρ€Π°Π·ΠΌΠ°Π·Π°Π½Ρ‹ ΠΏΠΎ handler, service ΠΈ repository, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ становится Π»Π΅Π³Ρ‡Π΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ, Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ участникам ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ взаимодСйствиС сСрвисов:

- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ REST API
- ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисами
- ВзаимодСйствиС Ρ‡Π΅Ρ€Π΅Π· gRPC
- ОбмСн событиями Ρ‡Π΅Ρ€Π΅Π· Kafka
- Π’Ρ‹Π±ΠΎΡ€ подходящСго способа ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Ρ‡Ρƒ
- Π Π°Π±ΠΎΡ‚Π° с внСшними систСмами Π±Π΅Π· Ρ€Π°Π·Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ микросСрвисы Ρ€Π΅Π΄ΠΊΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ. Они ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ события, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ внСшниС API ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° измСнСния Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… частях систСмы. ΠšΡƒΡ€Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ ΠΈ Π½Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π² хаос.

НадёТныС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹:

- ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Outbox для консистСнтной ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ событий
- Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹
- Π‘ΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисами
- Π Π°Π±ΠΎΡ‚Π° с Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ событиями
- Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ риска ΠΏΠΎΡ‚Π΅Ρ€ΠΈ сообщСний
- ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ устойчивых микросСрвисных взаимодСйствий

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Outbox особСнно Π²Π°ΠΆΠ΅Π½ Π² микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ событиС Π²ΠΎ внСшнюю систСму Π±Π΅Π· рассинхронизации. На курсС Π²Ρ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘Ρ‚Π΅, ΠΊΠ°ΠΊ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ курса:

- 80% занятий посвящСно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ
- 12 практичСских Π·Π°Π΄Π°Π½ΠΈΠΉ
- ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎΠ΅ построСниС микросСрвиса с нуля
- Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ
- РСализация ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ
- Код-Ρ€Π΅Π²ΡŒΡŽ ΠΈ Ρ€Π°Π·Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок
- Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹

Главная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ курса β€” интСнсивная ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Π’Ρ‹ Π½Π΅ просто ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚Π΅ объяснСния ΠΎ DDD ΠΈ Clean Architecture, Π° примСняСтС эти ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ Π² ΠΊΠΎΠ΄Π΅, шаг Π·Π° шагом собирая микросСрвис, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ ΠΈ ΠΊΠ°ΠΊ основу для дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π§Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°:

- ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ структуры прилоТСния
- Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ слоёв ΠΈ зависимостСй
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
- РСализация use case ΠΈ application layer
- Π Π°Π±ΠΎΡ‚Π° с repository ΠΈ инфраструктурой
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ API ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ
- ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ задания ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π³Π΄Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, Π° Π³Π΄Π΅ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π’Ρ‹ смоТСтС Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹: Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ зависимости, Π°Π½Π΅ΠΌΠΈΡ‡Π½ΡƒΡŽ модСль, смСшСниС слоёв, ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ абстракции ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ† Π΄ΠΎΠΌΠ΅Π½Π°.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ обучСния:

- Π“ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ микросСрвис Π½Π° Go
- АрхитСктура, построСнная ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ DDD ΠΈ Clean Architecture
- ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ проСктирования Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ
- ПониманиС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² микросСрвисов
- Навык Ρ€Π°Π±ΠΎΡ‚Ρ‹ с REST, gRPC ΠΈ Kafka
- ΠžΠΏΡ‹Ρ‚ примСнСния Outbox ΠΈ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Ρ… событий
- ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ для ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΡƒΡŽ Π·Ρ€Π΅Π»ΠΎΡΡ‚ΡŒ

ΠšΡƒΡ€Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ простого написания backend-ΠΊΠΎΠ΄Π° ΠΊ осознанному ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ систСм. Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π³Π΄Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, ΠΊΠ°ΠΊ Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½ ΠΎΡ‚ инфраструктуры ΠΈ ΠΊΠ°ΠΊ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ микросСрвис, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ Π±Π΅Π· постоянного пСрСписывания.

Π§Ρ‚ΠΎ Π²Ρ‹ смоТСтС послС прохоТдСния:

- ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Clean Architecture Π² Go-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…
- ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Π½ΡƒΡŽ модСль ΠΏΠΎ DDD
- Π’Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ Entity, Value Object, Aggregate ΠΈ Domain Service
- ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ слоями прилоТСния
- Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ REST API ΠΈ gRPC-сСрвисы
- Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Kafka для событийного взаимодСйствия
- ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· Outbox
- ΠŸΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ backend-ΠΊΠΎΠ΄

Β«Domain Driven Design ΠΈ Clean Architecture Π½Π° языкС GoΒ» β€” это курс для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ backend-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ просто Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅, Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ устойчивыС микросСрвисы. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄Π°Ρ‘Ρ‚ практичСский ΠΎΠΏΡ‹Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½-срСдах ΠΈ слоТных бизнСс-систСмах.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ микросСрвис Π½Π° Go, практичСскоС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ DDD ΠΈ Clean Architecture, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π²Ρ‹ΠΊΠΈ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠ΅, понятныС ΠΈ Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Π΅ backend-систСмы.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅:
Для просмотра содСрТимого Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ:
πŸ”’

Доступ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½

ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ†Π΅Π½Ρƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ



Π‘ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ All-dar.
 

ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ этой Ρ‚Π΅ΠΌΡ‹ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ зарСгистрированным участникам

Новый участник?

РСгистрация Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСньшС ΠΌΠΈΠ½ΡƒΡ‚Ρ‹

УТС с нами?

Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² свой Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚

Π‘Π²Π΅Ρ€Ρ…Ρƒ