Π£ Π½Π°Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ Π ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΈΠ΄Ρ CQRS Π²Ρ Π·Π½Π°Π΅ΡΠ΅? ΠΠ½Π΄ΡΠ΅ΠΉ Π¦Π²Π΅ΡΡΠΈΡ , Π’ΠΈΠ½ΡΠΊΠΎΡΡ ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ Π² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ Π½Π° ΡΡΡΠ±. ΠΠ»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΠ· ΡΠΎΡΠΌΡ Π½ΠΈΠΆΠ΅:
ΠΡΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π½Π΅
Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈΡΡ
ΠΠΠΠΠΠ’Π ΠΠΠΠ‘Π¬ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Π²Π½ΠΈΠ·Ρ
ΡΡΡΠ°Π½ΠΈΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ° ClipSaver.ru
ΠΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, ΠΏΡΠΎ CQRS Π²ΡΡ ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ β Π½ΠΎ ΠΌΠ½Π΅ Π΅ΡΡΡ ΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ! ΠΡΠ»ΠΈ ΡΠΏΡΠΎΡΠΈΡΡ backend ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΎ CQRS β ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΎΠ½ ΡΠΊΠ°ΠΆΠ΅Ρ, ΡΡΠΎ Π·Π½Π°Π΅Ρ ΠΎ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅. ΠΠΎ Π΅ΡΠ»ΠΈ ΡΠΏΡΠΎΡΠΈΡΡ ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΡ β ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈ ΡΡΠ°ΠΊΡΠΎΠ²Π°Π½ΠΈΠΉ. Π Π΄ΠΎΠΊΠ»Π°Π΄Π΅ Ρ ΠΎΠ±ΠΎΠ±ΡΡ ΡΠ²ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅ΡΠ½ΠΈΠΉ ΠΎΠΏΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ CQRS. ΠΠ±ΡΡΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ CQRS Π±ΡΠ²Π°ΡΡ. ΠΠ°ΠΊΠΈΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π΄Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ. Π’Π°ΠΊ ΠΆΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΡ CQRS: ΠΠΎΠ³ΡΡ Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π½Π΅Ρ β ΡΠΎ ΠΏΠΎΡΠ΅ΠΌΡ? ΠΠΎΠ³ΡΡ Π»ΠΈ query ΠΏΠΈΡΠ°ΡΡ Π»ΠΎΠ³ΠΈ? Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ? ΠΠΎΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ CQRS ΠΏΡΠΈ ΡΠΎΡΡΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΡΠ΅ΡΠ²ΠΈΡ? ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π±ΡΠ΄ΡΡ Π½Π° C#, Π½ΠΎ ΠΎΠ±ΡΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π½Π΅ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. Π Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΏΠΈΡΠ΅Ρ Π½Π° Java/Kotlin, Π² ΠΊΠΎΠ½ΡΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΡΠ½ΡΠΉ Π±ΠΎΠ½ΡΡ. ΠΠ° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π½Π½ΠΎΡΡΡ Π΄Π»Ρ ΡΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΏΠΎΠ΄ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠΌ CQRS ΡΠ°ΡΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΠΏΡΠΎΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠΌΠ½ΠΈΡΡ. Π― ΠΏΠΎΠΊΠ°ΠΆΡ ΡΠ²ΠΎΠΉ ΡΠ΅ΡΠ΅ΠΏΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ handlers (ΠΎΠ± ΡΡΠΎΠΌ Π² Π΄ΠΎΠΊΠ»Π°Π΄Π°Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡΡΡ). ΠΠ»Ρ .NET ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ MediatR. Π Π΅Ρ ΠΏΠΎΡΡ Π½Π° java Π² Π²ΠΈΠ΄Π΅ PipelinR (ΡΠΎΡ ΡΠ΅Π΄ΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° Π»ΠΈΠ±Ρ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ .NET - Java, Π° Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ).