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

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

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

Бинтаксис объявлСния ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Экспорт

Основной ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ управлСния Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² языкС 1Π‘ встроСн нСпосрСдствСнно Π² синтаксис объявлСния. Когда Π²Ρ‹ создаСтС Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² любом ΠΌΠΎΠ΄ΡƒΠ»Π΅ (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°), систСма ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ присваиваСт Π΅ΠΉ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ статус. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ самого модуля. Для измСнСния этого ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ слово Экспорт.

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

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅(ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€1, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€2) Экспорт

// Π’Π΅Π»ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ модулях Ρ„ΠΎΡ€ΠΌ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ становятся экспортными автоматичСски ΠΏΡ€ΠΈ создании Ρ‡Π΅Ρ€Π΅Π· конструктор событий. Π ΡƒΡ‡Π½ΠΎΠ΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ слова "Экспорт" ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ интСрфСйса, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° пСрСстанСт Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Π‘Ρ‚ΠΎΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠΉ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ мСста, объявлСниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ: Ѐункция ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘ΡƒΠΌΠΌΡƒ(Число) Экспорт. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этого ΠΏΡ€Π°Π²ΠΈΠ»Π° являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых частых ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ошибок Ρƒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠΎΠ΄, написанный Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½Π΅ Π²ΠΈΠ΄Π΅Π½ ΠΈΠ· модуля Ρ„ΠΎΡ€ΠΌΡ‹.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°: Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ "ΠŸΡ€ΠΎΡ†..." ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ шаблон с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом Экспорт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ

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

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… экспортныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ становятся Ρ‡Π°ΡΡ‚ΡŒΡŽ интСрфСйса самого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ позволяСт Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΡ‡ΠΊΡƒ. Допустим, Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ "РСализацияВоваровУслуг". Если Π² Π΅Π³ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ‘ΠΊΠΈΠ΄ΠΊΡƒ() с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Экспорт, Ρ‚ΠΎ ΠΈΠ· любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ мСста систСмы Π²Ρ‹ смоТСтС Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Ρ‘ Ρ‚Π°ΠΊ: Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ‘ΠΊΠΈΠ΄ΠΊΡƒ().

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

Π’ΠΈΠΏ модуля Доступ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ модуля Доступ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ доступ
ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ Π”Π° (всСгда) Π”Π° (с прСфиксом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°) НСт
ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π”Π° (всСгда) Π”Π° (Ρ‡Π΅Ρ€Π΅Π· ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚) НСт
ΠžΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π”Π° (всСгда) Π”Π° (Ρ‡Π΅Ρ€Π΅Π· имя ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля) Волько с Ρ„Π»Π°Π³ΠΎΠΌ "Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ"
ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π”Π° (всСгда) ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ НСт

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ слоТных подсистСм часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях экспортныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² Ρ€ΠΎΠ»ΠΈ шлюза. Однако ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² сСрвСрной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ½Π° объявлСна с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ &НаБСрвСрС ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ экспорта. ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ этого ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎ нСдопустимом Π²Ρ‹Π·ΠΎΠ²Π΅.

πŸ“Š Π‘ ΠΊΠ°ΠΊΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹
ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
ΠžΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ
ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Настройка свойств модуля ΠΈ контСкст выполнСния

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

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

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

  • πŸ”˜ Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ создаСтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ наТатия с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Экспорт.
  • πŸ”˜ Π’Π½ΡƒΡ‚Ρ€ΠΈ этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ вызываСтся другая ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ модуля Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΎ с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ &НаБСрвСрС.
  • πŸ”˜ БСрвСрная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ объявлСна ΠΊΠ°ΠΊ Экспорт, ΠΈΠ½Π°Ρ‡Π΅ клиСнтский контСкст Π½Π΅ смоТСт ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ возмоТности настройки контСкста ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ Ρ‚ΠΈΠΏΠ°Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² (Ρ‚ΠΎΠ½ΠΊΠΈΠΉ, Π²Π΅Π±, толстый). РСкомСндуСтся ΡΠ²Π΅Ρ€ΡΡ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ настройки Π² справкС ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄ массовым Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ контСкст выполнСния?

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ выполнСния опрСдСляСт, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ физичСски исполняСтся ΠΊΠΎΠ΄: Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ мСстС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (ΠΊΠ»ΠΈΠ΅Π½Ρ‚) ΠΈΠ»ΠΈ Π½Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌ сСрвСрС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ сСриализации ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π’Ρ‹Π·ΠΎΠ² экспортных ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ

Одним ΠΈΠ· самых ΠΌΠΎΡ‰Π½Ρ‹Ρ… прСимущСств экспортных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡ… использования Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ…. Π‘Ρ€Π΅Π΄Π° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ позволяСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Π΅ ΠΊΠ°ΠΊ ΠΊ Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ источнику Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ V83Connector ΠΈΠ»ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ COM-соСдинСния. Π’ этих сцСнариях Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Экспорт становится ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ условиСм успСха.

Когда внСшняя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Π±Π°Π·Π΅, ΠΎΠ½Π° Π²ΠΈΠ΄ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ "ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ интСрфСйс" ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π±Π΅Π· слова "Экспорт" для внСшнСго Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Ρ просто Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π­Ρ‚ΠΎ обСспСчиваСт ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚ случайного ΠΈΠ»ΠΈ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΈΠ·Π²Π½Π΅. Π’Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Ρ‚Π΅ΠΌ функциям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ явно ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΊΠ°ΠΊ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅.

Для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ взаимодСйствия часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ свойством "Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ". Π’ этом случаС экспортная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° становится доступна ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ модуля Π±Π΅Π· нСобходимости получСния ссылки Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠ’Π½Π΅ΡˆΠ½ΡŽΡŽΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ("ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ.cf");

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ = Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠžΠ±ΡŠΠ΅ΠΊΡ‚("ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.Π’Π½Π΅ΡˆΠ½ΡΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°");

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠœΠΎΡΠ­ΠΊΡΠΏΠΎΡ€Ρ‚Π½Π°ΡΠ€ΡƒΠ½ΠΊΡ†ΠΈΡ(ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€);

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

πŸ’‘

Экспортная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° β€” это СдинствСнный способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ для Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ HTTP-сСрвисов Π² 1Π‘.

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

Π’ процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ спСциалисты Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ошибки, связанныС с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Бамая распространСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Π·Π°Π±Ρ‹Ρ‚ΠΎΠ΅ слово Экспорт. Π‘ΠΈΠΌΠΏΡ‚ΠΎΠΌΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΉ ошибки слуТит сообщСниС систСмы ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, хотя физичСски ΠΎΠ½ присутствуСт Π² ΠΊΠΎΠ΄Π΅. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… поиск Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠΏΠ»ΠΎΡˆΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° частая ситуация β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΡΠΊΡΠΏΠΎΡ€Ρ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ сСрвСрного модуля ΠΈΠ· клиСнтского контСкста Π±Π΅Π· соблюдСния ΠΏΡ€Π°Π²ΠΈΠ» асинхронности. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ строго слСдит Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром. Если Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ сСрвСрный ΠΌΠ΅Ρ‚ΠΎΠ΄ синхронно ΠΈΠ· ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… случаСв), систСма Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ это дСйствиС. РСшСниС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈ &НаБСрвСрС.

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

  • πŸ›‘ Ошибка "ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½": ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ слова Экспорт Π² объявлСнии.
  • πŸ›‘ Ошибка "НСдопустимый Π²Ρ‹Π·ΠΎΠ²": ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ контСкста (&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅/&НаБСрвСрС).
  • πŸ›‘ Ошибка компиляции: ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ соотвСтствуСт объявлСнию.

Для автоматичСского поиска Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС срСдства Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ сторонниС инструмСнты Π²Ρ€ΠΎΠ΄Π΅ SonarQube для 1Π‘, настроСнныС Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΡ€Π°Π²ΠΈΠ» видимости. РСгулярный Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ сдСланы ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ, ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, скрыты Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π½ΡƒΠΆΠ΅Π½ доступ.

β˜‘οΈ Диагностика ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ видимости

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

Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ проСктирования интСрфСйсов

ИспользованиС экспортных ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ осознанным Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, Π° Π½Π΅ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΎΠΉ. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ гласит: Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΠΉΡ‚Π΅ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ сниТаСт ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΊΠΎΠ΄Π° Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИзмСнСниС сигнатуры экспортной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (количСства ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²) ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ всСх Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ Π½Π΅Ρ‘ зависят. ВноситС Ρ‚Π°ΠΊΠΈΠ΅ измСнСния с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ провСряйтС всС мСста Π²Ρ‹Π·ΠΎΠ²Π°.

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

МоТно Π»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ экспортной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ?

НСт, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Экспорт ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌ ΠΈ функциям. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ модуля всСгда ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ модуля, доступ ΠΊ Π½ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· Π³Π΅Ρ‚Ρ‚Π΅Ρ€Ρ‹ ΠΈ сСттСры (экспортныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ получСния ΠΈ установки).

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Экспорт?

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

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ слово Экспорт для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий Ρ„ΠΎΡ€ΠΌΡ‹?

Π”Π°, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. ВсС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΡ€ΠΈΠΠ°ΠΆΠ°Ρ‚ΠΈΠΈ, ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ) Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ экспортными ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ модуля Ρ„ΠΎΡ€ΠΌΡ‹. Если ΡƒΠ±Ρ€Π°Ρ‚ΡŒ это слово, событиС Π½Π΅ сработаСт, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ смоТСт Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ для привязки.

Как Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΡΠΊΡΠΏΠΎΡ€Ρ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ?

НСобходимо ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.РСализацияВоваровУслуг.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€() ΠΈΠ»ΠΈ Π²Ρ‹Π±Ρ€Π°Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚), Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ: ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π˜ΠΌΡΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹(). Для ΠΎΠ±Ρ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π²Ρ‹Π·ΠΎΠ² осущСствляСтся ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ: Π˜ΠΌΡΠžΠ±Ρ‰Π΅Π³ΠΎΠœΠΎΠ΄ΡƒΠ»Ρ.Π˜ΠΌΡΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹().

ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ экспортная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π±Ρ‹Ρ‚ΡŒ асинхронной?

Π’ контСкстС 1Π‘ понятиС асинхронности рСализуСтся Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ клиСнтского ΠΈ сСрвСрного контСкста. Π’Ρ‹Π·ΠΎΠ² сСрвСрной экспортной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° происходит асинхронно (с ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π°). Π―Π²Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов async/await ΠΊΠ°ΠΊ Π² JavaScript ΠΈΠ»ΠΈ C# Π² языкС 1Π‘ Π½Π΅Ρ‚, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ встроСн Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Π’ΠΈΠ΄Π½Ρ‹ Π»ΠΈ экспортныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ?

Π”Π°, Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (F5) Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ всС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ модуля, нСзависимо ΠΎΡ‚ ΠΈΡ… видимости. Однако ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ("Π±Π΅Π· ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ") ΠΏΡ€Π°Π²ΠΈΠ»Π° видимости строго ΡΠΎΠ±Π»ΡŽΠ΄Π°ΡŽΡ‚ΡΡ, ΠΈ Π²Ρ‹Π·ΠΎΠ² нСэкспортной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ·Π²Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС.