Domain Driven design distilled
ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ - Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π½Π°Π²ΡΠΊ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ domain driven design, ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΡΠΈΡΠΎΠΌ ΠΠ²Π°Π½ΡΠΎΠΌ Π² ΠΊΠ½ΠΈΠ³Π΅ 2003 Π³ΠΎΠ΄Π°. ΠΠ°ΠΊ ΠΈ Ρ ΠΊΠ½ΠΈΠ³ΠΎΠΉ βDesign Patternsβ, Π² ΠΊΠ½ΠΈΠ³Π΅ Π±ΡΠ»ΠΈ Π·Π°Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ², ΠΏΡΠΈ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ , ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ»ΠΎΡ ΠΎ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ.
ΠΠ½ΠΈΠ³Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΡΡΠ»Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡ Π½Π° ΡΡΠΈ ΡΠ°ΡΡΠΈ:
- ΠΊΠ°ΠΊ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ? (ΠΏΡΠΈΠΌ. ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π΅ΡΡΡ Ρ How to make sense of any mess, ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΠ°Π» Π² ΡΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ)
- ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²?
- ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠΉΡΠΈ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Π² ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠ΅ΠΌΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ΅?
ΠΠ»Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ±ΡΠΈΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ. ΠΡΠ°Π²Π΄Π°, ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΡΠΎΠΈΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡΡΡ ΠΎ ΠΏΠΎΠ½ΡΡΠΈΠΉΠ½ΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ. Π ΠΊΠ½ΠΈΠ³Π΅ ΡΠ΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΌ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ domain driven design:
- Domain Expert
- Ubitiquous Language
- Bounded Context
- Context mapping
- Domain
- Sub-domain
- Core
- Generic
- Supportive
- Sub-domain
- Models
- Event
- Aggregate
- View
Π§ΡΠΎΠ±Ρ Π±ΡΡΡΡΠ΅Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°Π½ΠΈΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ event storming.
Quotes
- 202205081256: Donβt limit Domain to nouns
- 202205081303: Innovation does not end, when maintenance begins.
- 202205081312: Subdomain must be within one Domain
- 202205081318: ΠΡΠΈΠ·Π½Π°ΠΊΠΈ Big Ball of Mud
- 202205081322: Avoid Integration Train Wrecks
- 202205291022: Aggregate forms a transactional consistency boundary
- 202205291024: Aggregate Rules of Thumb
- 202205291040: Difference between command and event
- 202205291041: Time based event need naming
- 202205291220: Estimate tasks based on component type
Tasks
- #task ΠΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠ΅ Π²ΡΠ΄Π΅ΡΠΆΠΊΠΈ ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠ· quotes. π 2022-06-01 β 2022-06-01
- #task ΠΠ°ΠΏΠΈΡΠ°ΡΡ Π²ΡΠ΄Π΅ΡΠΆΠΊΡ ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ. π 2022-06-05 β 2022-06-07
- #task ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΄Π΅ΡΠΆΠΊΡ Π² Π±ΠΎΠ»ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. π 2022-08-07 β 2022-08-07
- #task ΠΠΎΠ΄ΡΠΌΠ°ΡΡ Π½Π°Π΄ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΌΡΡΠ»ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π΄ΠΎΡΡΠ°Π» ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ.