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

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

НСопытныС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Ρ„ΠΎΡ€ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Ρ‡Ρ‚ΠΎ Π² управляСмом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· получСния ссылки Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ экзСмпляр. БущСствуСт нСсколько Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… способов ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, находится Π»ΠΈ Ρ„ΠΎΡ€ΠΌΠ° Π² памяти ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° Π»ΠΈ ΠΎΠ½Π° для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π·Π½Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ имя Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ просто ΠΎΠ±Ρ‰Π΅ΠΌ спискС Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΎΠΊΠΎΠ½.

ИспользованиС глобального контСкста для поиска Ρ„ΠΎΡ€ΠΌ

Π‘Π°ΠΌΡ‹ΠΌ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΌ способом ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наличия ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ являСтся использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² глобального контСкста ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ управляСмого прилоТСния основным инструмСнтом слуТит функция Π€ΠΎΡ€ΠΌΡ‹, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ всСх ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ„ΠΎΡ€ΠΌ. Π­Ρ‚Π° коллСкция позволяСт Iterate ΠΏΠΎ всСм Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΎΠΊΠ½Π°ΠΌ ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅.

Однако, Ссли ваша Ρ†Π΅Π»ΡŒ β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΠΎ Π΅Ρ‘ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ, Π³ΠΎΡ€Π°Π·Π΄ΠΎ эффСктивнСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ€ΠΎΡ€ΠΌΡƒ Π² сочСтании с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π½Π° пустоту, Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΠ°ΠΉΡ‚ΠΈΠ€ΠΎΡ€ΠΌΡƒΠŸΠΎΠ˜ΠΌΠ΅Π½ΠΈ. ИспользованиС глобального контСкста Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ состояниСм клиСнтского прилоТСния.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дСмонстрируСт, ΠΊΠ°ΠΊ бСзопасно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссылку Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ. Если Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°, пСрСмСнная ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НСопрСдСлСно, Ρ‡Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:

Π˜ΠΌΡΠ€ΠΎΡ€ΠΌΡ‹ ="Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура.Π€ΠΎΡ€ΠΌΠ°.Π€ΠΎΡ€ΠΌΠ°Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°";

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π€ΠΎΡ€ΠΌΡ‹ = ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ€ΠΎΡ€ΠΌΡƒ(Π˜ΠΌΡΠ€ΠΎΡ€ΠΌΡ‹);

Если ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π€ΠΎΡ€ΠΌΡ‹ = НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π€ΠΎΡ€ΠΌΠ° Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°");

Π˜Π½Π°Ρ‡Π΅

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π€ΠΎΡ€ΠΌΠ° Π°ΠΊΡ‚ΠΈΠ²Π½Π° ΠΈ доступна для Ρ€Π°Π±ΠΎΡ‚Ρ‹");

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

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

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ€ΠΎΡ€ΠΌΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹. Для динамичСского поиска Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π€ΠΎΡ€ΠΌΡ‹.

Анализ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ

Π’ ситуациях, ΠΊΠΎΠ³Π΄Π° имя Ρ„ΠΎΡ€ΠΌΡ‹ нСизвСстно Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΈΠ»ΠΈ трСбуСтся Π½Π°ΠΉΡ‚ΠΈ Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ ΠΎΠΊΠ½Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π€ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив структур, содСрТащих ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Ρ‘ имя, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ ссылку Π½Π° сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹.

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

  • πŸ” Поиск ΠΏΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ: ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Ρ„ΠΎΡ€ΠΌΡƒ, Π΄Π°ΠΆΠ΅ Ссли Π΅Ρ‘ систСмноС имя сгСнСрировано динамичСски, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡΡΡŒ Π½Π° тСкст Π² шапкС ΠΎΠΊΠ½Π°.
  • πŸ“‚ Поиск ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ: ИдСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для случаСв, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ всС Ρ„ΠΎΡ€ΠΌΡ‹, связанныС с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ справочником.
  • βš™οΈ Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ: ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ элСмСнтов списков ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌ самих элСмСнтов ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ².

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌ ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состав этой ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ.
πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ поиска Ρ„ΠΎΡ€ΠΌΡ‹ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠŸΡ€ΡΠΌΠΎΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ
ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π€ΠΎΡ€ΠΌΡ‹
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
Π”Ρ€ΡƒΠ³ΠΎΠΉ способ

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…

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

РСшСниСм являСтся Π°Π½Π°Π»ΠΈΠ· свойства ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ. Бравнивая ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, привязанным ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с Π½ΡƒΠΆΠ½ΠΎΠΉ записью Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π­Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ рСдактирования ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΏΠΎΠΊΠ° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ‚ΠΎΠΉ ΠΆΠ΅ записью.

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

β˜‘οΈ Алгоритм ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

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

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² толстом ΠΈ Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅

АрхитСктура ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрного взаимодСйствия Π² 1Π‘ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ограничСния Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ состояния Ρ„ΠΎΡ€ΠΌ. Π’ Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ (Ρ€Π΅ΠΆΠΈΠΌ управляСмого прилоТСния) ΠΊΠΎΠ΄, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉΡΡ Π½Π° сторонС сСрвСра, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ прямого доступа ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π‘Π΅Ρ€Π²Π΅Ρ€ Β«Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚Β» интСрфСйс ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ· сСрвСрного ΠΊΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это рСализуСтся Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π·ΠΎΠ² сСрвСрной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ· клиСнтского контСкста, Π³Π΄Π΅ ΠΈ происходит Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π€ΠΎΡ€ΠΌΡ‹, с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° (Π‘ΡƒΠ»Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) Π½Π° сСрвСр. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этого раздСлСния контСкстов являСтся частой ошибкой, приводящСй ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ просто Π½Π΅ выполняСтся ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ контСкста.

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

Π₯арактСристика Π’ΠΎΠ½ΠΊΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Волстый ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π’Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚
Доступ ΠΊ Ρ„ΠΎΡ€ΠΌΠ°ΠΌ с сСрвСра НСт (трСбуСтся Π²Ρ‹Π·ΠΎΠ² Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚) Частично НСт (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»ΠΈΠ΅Π½Ρ‚)
ΠœΠ΅Ρ‚ΠΎΠ΄ Π€ΠΎΡ€ΠΌΡ‹ ДоступСн Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ДоступСн глобально ДоступСн Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅
ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Высокая БрСдняя Зависит ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°
РСкомСндация Основной Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ УстарСваСт Для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ доступа

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий открытия ΠΈ закрытия

ВмСсто постоянного опроса состояния Ρ„ΠΎΡ€ΠΌ (polling), Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ рСсурсоСмким, Π±ΠΎΠ»Π΅Π΅ элСгантным Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ являСтся подписка Π½Π° события ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Ρ„ΠΎΡ€ΠΌ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ прСдоставляСт события ΠŸΡ€ΠΈΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΈ ΠŸΡ€ΠΈΠ—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

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

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ стоит Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ состояниС Ρ„ΠΎΡ€ΠΌ Π² Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…?

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ сСанса ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ срСдС доступ ΠΊ Π½ΠΈΠΌ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ синхронизации, Ρ‡Ρ‚ΠΎ услоТняСт ΠΊΠΎΠ΄. ИспользованиС рСгистров свСдСний Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ способы ΠΈΡ… устранСния

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

ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°..Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ„ΠΎΡ€ΠΌ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ динамичСски. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° Ρ„ΠΎΡ€ΠΌΠ° исчСзла ΠΈΠ· памяти Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ обращСния ΠΊ Π½Π΅ΠΉ. Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ свСрнута ΠΈΠ»ΠΈ скрыта Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ, Π½ΠΎ ΠΏΡ€ΠΈ этом ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ ошибкой являСтся ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ контСкста выполнСния. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ клиСнтский ΠΌΠ΅Ρ‚ΠΎΠ΄ получСния списка Ρ„ΠΎΡ€ΠΌ ΠΈΠ· сСрвСрной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π±Π΅Π· ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС выполнСния. Π§Π΅Ρ‚ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ отвСтствСнности ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром β€” Π·Π°Π»ΠΎΠ³ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² Π½ΠΎΠ²Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘. ВсСгда свСряйтС синтаксис ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ синтакс-ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ΅ вашСй вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.
πŸ’‘

Никогда Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° останСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ послС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. ВсСгда провСряйтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° НСопрСдСлСно нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с Π½ΠΈΠΌ.

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

МоТно Π»ΠΈ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° Π»ΠΈ Ρ„ΠΎΡ€ΠΌΠ° Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ?

ΠΠ°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ Π€ΠΎΡ€ΠΌΡ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ нСльзя, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Ρ„ΠΎΡ€ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса. Для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° активности Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ рСгистрации Π² рСгистрах свСдСний ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ БСансы ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ‹, хотя ΠΎΠ½Π° Π½Π΅ содСрТит Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ….

Π§Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π€ΠΎΡ€ΠΌΡ‹, Ссли Π½ΠΈ ΠΎΠ΄Π½Π° Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°?

ΠœΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ пустой массив (ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ с количСством элСмСнтов Ρ€Π°Π²Π½Ρ‹ΠΌ 0). Π­Ρ‚ΠΎ Π½Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НСопрСдСлСно, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ пустая коллСкция. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· свойство ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ просто Π½Π΅ выполнится Π½ΠΈ Ρ€Π°Π·Ρƒ.

Как ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ списка ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹ элСмСнта ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π΅?

Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свойство Имя Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½Π° связана. Π€ΠΎΡ€ΠΌΡ‹ элСмСнтов ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ Π² ΠΈΠΌΠ΅Π½ΠΈ суффикс Π€ΠΎΡ€ΠΌΠ°Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°, Π° Ρ„ΠΎΡ€ΠΌΡ‹ списков β€” ЀормаБписка. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ВСкущаяБтрока, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅Π½ для Ρ„ΠΎΡ€ΠΌ списков.

ВлияСт Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° открытости Ρ„ΠΎΡ€ΠΌ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы?

Π•Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π€ΠΎΡ€ΠΌΡ‹ практичСски Π½Π΅ влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Однако, Ссли ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ этот Π²Ρ‹Π·ΠΎΠ² Π² часто выполняСмый Ρ†ΠΈΠΊΠ» ΠΈΠ»ΠΈ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ с ΠΌΠ°Π»Ρ‹ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ, это создаст лишнюю Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° клиСнтскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΠΎ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ ΠΈΠ»ΠΈ с Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.