Π Π°Π±ΠΎΡ‚Π° с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° событий. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ситуациСй, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π² стандартных ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ…, Π½Π΅ доТидаясь дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ возмоТности для создания Π³ΠΈΠ±ΠΊΠΈΡ… интСрфСйсов ΠΈ слоТной бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ событийной ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, особСнности контСкста выполнСния ΠΊΠΎΠ΄Π° ΠΈ способы прямого обращСния ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ тонкостях Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π‘Π΅Ρ€Π²Π΅Ρ€ ΠΈ ΠšΠ»ΠΈΠ΅Π½Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ распространСнных ошибок ΠΏΡ€ΠΈ манипуляции событиями. Π­Ρ‚ΠΎ Π·Π½Π°Π½ΠΈΠ΅ критичСски Π²Π°ΠΆΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ.

Рассмотрим Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ синтаксичСскиС конструкции, Π½ΠΎ ΠΈ мСтодологичСскиС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ„ΠΎΡ€ΠΌ. ΠœΡ‹ обсудим, ΠΊΠΎΠ³Π΄Π° умСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прямой Π²Ρ‹Π·ΠΎΠ², Π° ΠΊΠΎΠ³Π΄Π° Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ прилоТСния. Анализ событий позволяСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы ΠΈ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΊΠΎΠ΄Π° Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

АрхитСктура событийной ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ построСна Π½Π° событийно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅, Π³Π΄Π΅ рСакция систСмы Π½Π° дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ измСнСния Π΄Π°Π½Π½Ρ‹Ρ… опрСдСляСтся Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ Π²Ρ…ΠΎΠ΄Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Ρ„ΠΎΡ€ΠΌΡ‹, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°, ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠ»ΠΈ сама Ρ„ΠΎΡ€ΠΌΠ°, ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ своим Π½Π°Π±ΠΎΡ€ΠΎΠΌ событий. ПониманиС ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ этих событий β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг ΠΊ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠΌΡƒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΈΠΌΠΈ.

Бобытия ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Π½Π° сСрвСрС ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΉ контСкст. НапримСр, событиС ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ часто выполняСтся Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ для ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠΉ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ интСрфСйса, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠŸΡ€ΠΈΠ—Π°ΠΏΠΈΡΠΈ строго сСрвСрноС, обСспСчивая Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ выполнСния Π΄ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ доступныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ограничСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°.

Π’Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ систСмныС события, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ автоматичСски, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹. ΠŸΡ€ΡΠΌΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β€” это, ΠΏΠΎ сути, ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ модуля Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΎ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ спСцифики ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². НСвСрноС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ этой Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкам выполнСния ΠΈ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΡΠΌΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с интСрфСйсом (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, отрисовка ΠΈΠ»ΠΈ фокус), ΠΈΠ· сСрвСрного ΠΊΠΎΠ΄Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния. ВсСгда провСряйтС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ компиляции &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈΠ»ΠΈ &НаБСрвСрС.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ подписки Π½Π° события позволяСт Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π±Π΅Π· измСнСния исходного ΠΊΠΎΠ΄Π° стандартных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Однако ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ нСпосрСдствСнно с ΠΊΠΎΠ΄ΠΎΠΌ модуля Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ особой аккуратности, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ Π±Π΅Ρ€Π΅Ρ‚Π΅ Π½Π° сСбя ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ подставляСт автоматичСски.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСфиксы Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΡ_ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒ стандартныС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΡ‚ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

ΠŸΡ€ΡΠΌΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ модуля Ρ„ΠΎΡ€ΠΌΡ‹

Π‘Π°ΠΌΡ‹ΠΉ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ способ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β€” Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ модуля Ρ„ΠΎΡ€ΠΌΡ‹ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Π² 1Π‘ β€” это просто ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π½ΠΈΡ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ мСста ΠΊΠΎΠ΄Π°. Однако здСсь кроСтся Π²Π°ΠΆΠ½Ρ‹ΠΉ нюанс: ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

ΠŸΡ€ΠΈ автоматичСском срабатывании события ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ спСцифичСскиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚, Π‘Ρ‚Π°Ρ€ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠžΡ‚ΠΊΠ°Π· ΠΈΠ»ΠΈ Π”Π°Π½Π½Ρ‹Π΅Π’Ρ‹Π±ΠΎΡ€Π°. ΠŸΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этого трСбования ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΊΠΎΠ΄ попытаСтся ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π·ΠΎΠ²Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° измСнСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°. Если ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ поля Ρ„ΠΎΡ€ΠΌΡ‹, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт управлСния. Если ΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° зависит ΠΎΡ‚ значСния ΠžΡ‚ΠΊΠ°Π·, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π±ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΏΠΎ ссылкС.

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Кнопка1_НаТатиС(Кнопка)

// Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ измСнСния значСния для Π²Ρ‹Π·ΠΎΠ²Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ

Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚ = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚1;

Π‘Ρ‚Π°Ρ€ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚1;

ΠžΡ‚ΠΊΠ°Π· = Π›ΠΎΠΆΡŒ;

// ΠŸΡ€ΡΠΌΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚1_ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ(Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚, Π‘Ρ‚Π°Ρ€ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠžΡ‚ΠΊΠ°Π·);

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ситуациях: ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Однако Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ прямыми Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ стандартного сцСнария.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒΠ’Ρ‹Π±ΠΎΡ€Π°

Одним ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… сцСнариСв являСтся программная имитация Π²Ρ‹Π±ΠΎΡ€Π° значСния ΠΈΠ· списка ΠΈΠ»ΠΈ поля Π²Π²ΠΎΠ΄Π°. Для этих Ρ†Π΅Π»Π΅ΠΉ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ прСдусмотрСн ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒΠ’Ρ‹Π±ΠΎΡ€Π°. Он позволяСт Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ событий, связанных с ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ‹Π±ΠΎΡ€Π°, Π±Π΅Π· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с интСрфСйсом.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с полями Ρ‚ΠΈΠΏΠ° ΠŸΠΎΠ»Π΅ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎΠ‘ΠΏΠΈΡΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΊΠ»ΠΈΠΊ ΠΏΠΎ строкС списка. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° основных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°: элСмСнт Ρ„ΠΎΡ€ΠΌΡ‹, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ инициируСтся Π²Ρ‹Π±ΠΎΡ€, ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π±ΠΎΡ€Π°.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π’ΠΈΠΏ ОписаниС
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠŸΠΎΠ»Π΅Π€ΠΎΡ€ΠΌΡ‹ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Ρ„ΠΎΡ€ΠΌΡ‹, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ вызываСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Ρ‹Π±ΠΎΡ€Π°.
Π”Π°Π½Π½Ρ‹Π΅Π’Ρ‹Π±ΠΎΡ€Π° ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅.
ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉΠ’Ρ‹Π±ΠΎΡ€ Π‘ΡƒΠ»Π΅Π²ΠΎ Π€Π»Π°Π³, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, являСтся Π»ΠΈ Π²Ρ‹Π±ΠΎΡ€ мноТСствСнным (для Ρ‚Π°Π±Π»ΠΈΡ†).
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π’Ρ‹Π±ΠΎΡ€Π° Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² событиС ΠŸΠ΅Ρ€Π΅Π΄Π’Ρ‹Π±ΠΎΡ€ΠΎΠΌ.

ИспользованиС этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Π½Ρ‹ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ события, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠŸΠ΅Ρ€Π΅Π΄Π’Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΈ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π’Ρ‹Π±ΠΎΡ€Π°, Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС. Π­Ρ‚ΠΎ бСзопаснСС, Ρ‡Π΅ΠΌ прямой Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° сама управляСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ контСкста ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

Однако стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· сСрвСрного модуля ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС. Если Π»ΠΎΠ³ΠΈΠΊΠ° Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ сСрвСрной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… клиСнтских ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² с асинхронными Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ сСрвСра.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒΠ’Ρ‹Π±ΠΎΡ€Π° для элСмСнта Π’Π°Π±Π»ΠΈΡ†Π°Π€ΠΎΡ€ΠΌΡ‹, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π”Π°Π½Π½Ρ‹Π΅Π’Ρ‹Π±ΠΎΡ€Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ структурС строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ссылку Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с событиСм ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых Π½Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ… 1Π‘. Оно срабатываСт ΠΏΡ€ΠΈ любом ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ мСстом для Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ. Однако ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² этого события ΠΈΠΌΠ΅Π΅Ρ‚ свои ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ.

Главная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ присваивании значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ = Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) событиС ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½Π΅ срабатываСт автоматичСски. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° считаСт это Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅ΠΉ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ интСрфСйса. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли ваша бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° завязана Π½Π° это событиС, Π΅Ρ‘ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ явно.

Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ события Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π½ΠΎ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹. Π’ частности, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π‘Ρ‚Π°Ρ€ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π΄ΠΎ измСнСния, Π° Π½Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅. Ошибка Π² этом ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ сравнСния Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Частой ошибкой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² являСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠ· сСрвСрного ΠΊΠΎΠ΄Π° для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ событиС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ обрабатываСтся Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ для быстродСйствия, Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. НСобходимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ асинхронного взаимодСйствия ΠΈΠ»ΠΈ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: БСсконСчная рСкурсия β€” Ρ€Π΅Π°Π»ΡŒΠ½Π°Ρ ΡƒΠ³Ρ€ΠΎΠ·Π° ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Если Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π²Ρ‹ мСняСтС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² своСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ мСняСт ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„Π»Π°Π³ΠΈ-Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ.

πŸ“Š Как Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ событий?
ΠŸΡ€ΡΠΌΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹
Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒΠ’Ρ‹Π±ΠΎΡ€Π°
Вынос Π² ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ
Бобытия подписки

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ выполнСния: ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π‘Π΅Ρ€Π²Π΅Ρ€Π°

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° клиСнтский ΠΈ сСрвСрный β€” Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ 1Π‘. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с событиями Ρ„ΠΎΡ€ΠΌ критичСски Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Π³Π΄Π΅ выполняСтся ΠΊΠΎΠ΄. Ошибки контСкста ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых распространСнных ΠΏΡ€ΠΈΡ‡ΠΈΠ½ сбоСв ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ.

ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠΉ контСкст (&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅) ΠΈΠΌΠ΅Π΅Ρ‚ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ интСрфСйса: элСмСнтам Ρ„ΠΎΡ€ΠΌΡ‹, курсору, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ строкам. Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ контСкст (&НаБСрвСрС) Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСпосрСдствСнно с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Π±Π°Π·Π΅, транзакциями ΠΈ тяТСлыми вычислСниями. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈΠ· сСрвСрной Π±Π΅Π· использования ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ².

Для Π²Ρ‹Π·ΠΎΠ²Π° клиСнтской ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ с сСрвСра ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈΠ»ΠΈ асинхронныС Π²Ρ‹Π·ΠΎΠ²Ρ‹. Однако, Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ событии Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚ΠΎ Ρ‡Π°Ρ‰Π΅ всСго трСбуСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅: сСрвСрная Π»ΠΎΠ³ΠΈΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½Π° клиСнтским событиСм. Π’ этом случаС клиСнтский ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ сСрвСрный ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΡ€ΠΈΠ§Ρ‚Π΅Π½ΠΈΠΈΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅) ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ мСста сСрвСрного ΠΊΠΎΠ΄Π°, это дСлаСтся ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ кросс-контСкстных Π²Ρ‹Π·ΠΎΠ²Π°Ρ…. ВсСгда провСряйтС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компиляции Π² Π½Π°Ρ‡Π°Π»Π΅ модуля.

πŸ’‘

Π—ΠΎΠ»ΠΎΡ‚ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Никогда Π½Π΅ ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ свойствам элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹ (Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.*) ΠΈΠ· сСрвСрного ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ"Бвойство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ".

ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ· Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ событий

Когда Π»ΠΎΠ³ΠΈΠΊΠ° Π²Ρ‹Π·ΠΎΠ²Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² становится слоТной, стандартных срСдств ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСдостаточно. Π’Π°ΠΆΠ½ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ событиС сработало, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ ΠΈ Π³Π΄Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» сбой. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ 1Π‘ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ возмоТности.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΡƒ останова Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅Π³ΠΎ вас ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. ΠŸΡ€ΠΈ запускС ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Π²Ρ‹ смоТСтС ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, Π±Ρ‹Π» Π»ΠΈ Π²Ρ‹Π·ΠΎΠ² ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½ систСмой (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ дСйствиСм) ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Анализ стСка ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ рСкурсивныС Π²Ρ‹Π·ΠΎΠ²Ρ‹.

Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» рСгистрации для логирования ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… этапов ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ срСдС. Π­Ρ‚ΠΎ позволяСт рСтроспСктивно Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ошибок Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π—Π°ΠΏΠΈΡΡŒ Π² ΠΆΡƒΡ€Π½Π°Π» Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ"Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅" Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠžΡ‚ΠΊΠ°Π·. Если Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ послС выполнСния ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Ρ‹ провСряСтС этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠ³ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Π˜ΡΡ‚ΠΈΠ½Π°, запрСщая дальнСйшиС дСйствия.

Π‘Π΅ΠΊΡ€Π΅Ρ‚ быстрой ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ сообщСния (Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ) Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ† ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ слоТного ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ быстро Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ мСсто, Π³Π΄Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ прСрываСтся ΠΈΠ»ΠΈ зависаСт.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ событиС Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ· внСшнСго ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° оТидания?

Π”Π°, это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ с ограничСниями. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ оТидания выполняСтся Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ контСкстС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ Π±Ρ‹Π» установлСн. Если Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ клиСнтскоС событиС, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ оТидания Ρ‚ΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ клиСнтским. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ частыС Π²Ρ‹Π·ΠΎΠ²Ρ‹ событий ΠΈΠ· Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΌΠΎΠ³ΡƒΡ‚ сильно Π½Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ клиСнтскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π΅ обновляСтся интСрфСйс?

ΠŸΡ€ΡΠΌΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° выполняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ΄ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π½ΠΎ Π½Π΅ всСгда ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ пСрСрисовку интСрфСйса. Если ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, потрСбуСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ для элСмСнта Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ всСй Ρ„ΠΎΡ€ΠΌΡ‹.

Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Ссли ΠΈΡ… количСство измСнилось?

Если сигнатура ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° измСнилась (добавились Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹), Π° Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Π΅Π³ΠΎ ΠΏΠΎ старому ΠΊΠΎΠ΄Ρƒ, Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка количСства ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². НСобходимо ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π²Ρ‹Π·ΠΎΠ²Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² всС Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π΄Π°ΠΆΠ΅ Ссли Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ НСопрСдСлСно).

БСзопасно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒΠ’Ρ‹Π±ΠΎΡ€Π° для записи Π΄Π°Π½Π½Ρ‹Ρ…?

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Если Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ этого Π²Ρ‹Π±ΠΎΡ€Π° происходит запись Π΄Π°Π½Π½Ρ‹Ρ…, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ. НС ΠΏΠΎΠ»Π°Π³Π°ΠΉΡ‚Π΅ΡΡŒ solely Π½Π° события Ρ„ΠΎΡ€ΠΌΡ‹ для критичСской бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ сохранСния, Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

МоТно Π»ΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² события послС Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»Π°?

НСт, ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π½Π°Ρ‡Π°Π» Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ стандартными срСдствами"ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ события" нСльзя. Однако Π²Π½ΡƒΡ‚Ρ€ΠΈ самого ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠžΡ‚ΠΊΠ°Π· ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Ссли условия для выполнСния Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π΅ ΡΠΎΠ±Π»ΡŽΠ΄Π΅Π½Ρ‹.