πŸ‘¨β€πŸ’»β“15 вопросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π΄Π°ΡŽΡ‚ Π½Π° собСсСдовании Π½Π° C#-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы для собСсСдований Π½Π° C#-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° Π½ΠΈΡ….

Данная ΡΡ‚Π°Ρ‚ΡŒΡ являСтся ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ. Бсылка Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π».

ΠžΡΠ½ΠΎΠ²Ρ‹ C#

1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ C#?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ C# β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Microsoft. УпомянитС Π΅Π³ΠΎ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π² индустрии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО ΠΈ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² создании ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ спСктра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: Β«C# β€” это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Microsoft. Π•Π³ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Π΅Π±-, дСсктопныС ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния. Он сочСтаСт Π² сСбС Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Π‘++ ΠΈ простоту Visual Basic ΠΈ прСдоставляСт ΡΠΈΠ»ΡŒΠ½ΡƒΡŽ Π±Π°Π·Ρƒ для построСния ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈ эффСктивных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉΒ».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°Ρ‚ΡŒ Ρ‡Ρ‘Ρ‚ΠΊΠΎΠ΅ ΠΈ Π²Π΅Ρ€Π½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ C#, подчёркивая Π΅Π³ΠΎ Π³Π»Π°Π²Π½Ρ‹Π΅ особСнности ΠΈ способы примСнСния.

2. Какова Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ value ΠΈ reference Π² C#?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ value Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС фактичСскиС Π΄Π°Π½Π½Ρ‹Π΅, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ reference Ρ…Ρ€Π°Π½ΠΈΡ‚ ссылку Π½Π° эти Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΡ€ΠΈΠ²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ случая ΠΈ упомянитС различия Π² распрСдСлСнии памяти ΠΈ присвоСнии Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: Β«Π’ΠΈΠΏ value Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС фактичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° Ρ‚ΠΈΠΏ reference β€” ссылку Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ΠΈΠΏΡ‹ value Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠ°ΠΊ int, float, bool, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранятся Π² стСкС. Reference-Ρ‚ΠΈΠΏΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ классы ΠΈ строки, хранятся Π² ΠΊΡƒΡ‡Π΅, ΠΈ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… хранятся ссылки Π½Π° ΠΈΡ… мСсто Π² памяти».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ value ΠΈ reference, ΡΡΡ‹Π»Π°ΡΡΡŒ Π½Π° распрСдСлСниС памяти ΠΈ присвоСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ приводя Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.
Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΡˆΠ°Ρ€ΠΏΠΈΡΡ‚Π°Β»

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C#

3. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ инкапсуляция Π² C#?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: Π‘ΠΊΠ°ΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ инкапсуляция β€” это объСдинСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² классС, Π³Π΄Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ ΠΈ доступны Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΡƒΠΏΠΎΡ€ Π½Π° Ρ€ΠΎΠ»ΠΈ инкапсуляции Π² сокрытии Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ сохранСнии цСлостности ΠΊΠΎΠ΄Π°.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: Β«Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ β€” ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ООП, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π² сСбя объСдинСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² классС. Она Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° скрыто ΠΎΡ‚ внСшнСго ΠΊΠΎΠ΄Π° ΠΈ доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ способствуСт сопровоТдаСмости ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инкапсуляции Π½ΡƒΠΆΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΉΒ».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ инкапсуляции, подчёркивая Π΅Ρ‘ ΠΏΠΎΠ»ΡŒΠ·Ρƒ, ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ обСспСчСнии защищСнности ΠΊΠΎΠ΄Π°.

4. Π’ Ρ‡Ρ‘ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ наслСдованиСм ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ Π² C#?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ наслСдованиС β€” это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ класс наслСдуСт свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ· Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса, Π° ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ позволяСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Π² зависимости ΠΎΡ‚ ситуации. ΠŸΡ€ΠΈΠ²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: «НаслСдованиС являСтся основной характСристикой ООП, которая позволяСт классам Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса. Оно способствуСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌΡƒ использованию ΠΊΠΎΠ΄Π° ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΆΠ΅ позволяСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΎ обСспСчиваСт Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ динамичСскоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² зависимости ΠΎΡ‚ настоящСго Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Β».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ясно Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ наслСдованиС ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ понятия.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ языка C#

5. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ обобщСния Π² C#?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ обобщСния ΠΊΠ°ΠΊ способ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ с нСсколькими Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ обобщСния ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΡƒΠ±ΠΈΡ€Π°ΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ привСдСния Ρ‚ΠΈΠΏΠΎΠ².
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: Β«ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π² C# ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ классы, интСрфСйсы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с нСсколькими Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Они Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄, ΠΈΠ·Π±Π΅Π³Π°ΡŽΡ‰ΠΈΠΉ привСдСния Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΈΡ… Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈ эффСктивныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· ТСртвования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽΒ».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠΉ, дСлая ΡƒΠΏΠΎΡ€ Π½Π° ΠΈΡ… Ρ€ΠΎΠ»ΡŒ Π² создании ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΈ типобСзопасного ΠΊΠΎΠ΄Π°.

6. Π’ Ρ‡Ρ‘ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ словами readonly ΠΈ const Π² C#?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ readonly ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠΎΠ»Π΅ΠΉ экзСмпляров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ присвоСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ врСмя объявлСния ΠΈΠ»ΠΈ Π² конструкторС, Π° const ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для статичСских констант, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: Β«ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово readonly Π² C# ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠΎΠ»Π΅ΠΉ экзСмпляров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ присвоСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ врСмя объявлСния ΠΈΠ»ΠΈ Π² конструкторС. ПослС присвоСния ΠΈΡ… значСния Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово const ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для статичСских констант, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ ΠΈ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Полям const Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²ΠΎ врСмя объявлСния».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ясно Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова readonly ΠΈ const ΠΈ Π²Π΅Ρ€Π½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚, Π³Π΄Π΅ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ограничСния.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π² C#

7. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π² C#? Как ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ восстановлСния послС ошибок Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния. ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ Π±Π»ΠΎΠΊΠΈ try, catch ΠΈ finally ΠΈ порядок ΠΈΡ… выполнСния ΠΏΡ€ΠΈ появлСнии ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: Β«ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π² C# позволяСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ошибки ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ послС Π½ΠΈΡ…. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±Π»ΠΎΠΊΠΈ try-catch для инкапсуляции ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Если ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² Π±Π»ΠΎΠΊΠ΅ try, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π±Π»ΠΎΠΊ(ΠΈ) catch, подходящиС Ρ‚ΠΈΠΏΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Код Π² Π±Π»ΠΎΠΊΠ΅ finally выполняСтся Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅Ρ‚Β».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ порядок выполнСния ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π² C#, Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ Ρ€ΠΎΠ»ΡŒ Π±Π»ΠΎΠΊΠΎΠ² try-catch-finally ΠΈ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ стратСгий ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

8. Π’ Ρ‡Ρ‘ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ throw ΠΈ throw ex Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π² C#?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ throw ex ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, сбрасывая трассировку стСка, Π° throw сохраняСт ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΡƒΡŽ трассировку стСка. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΡƒΠΏΠΎΡ€ Π½Π° ваТности сохранСния трассировки стСка для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: Β«Π’ C#, инструкция throw ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ сохранСния Π΅Π³ΠΎ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ трассировки стСка. Throw ex ΠΆΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ послС catching it, Π½ΠΎ ΠΎΠ½ сбрасываСт трассировку стСка. Π’Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ throw Π±Π΅Π· ex для сохранСния трассировки стСка, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эффСктивно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ Π°Π½Π°Π»ΠΈΠ· ошибок».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ throw ΠΈ throw ex ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ сохранности трассировок стСка для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² C#

9. Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π‘#?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² C# ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ADO.NET. РасскаТитС ΠΏΡ€ΠΎ созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Connection, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов SQL ΠΈΠ»ΠΈ хранящихся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: Β«Π’ C# ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ADO.NET, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ классов для доступа ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Connection, указываСтся строка ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΈ Π·Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Command Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ запросы SQL ΠΈΠ»ΠΈ хранящиСся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ закрываСтся ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π»ΡŽΠ±Ρ‹Π΅ возникшиС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΒ».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², способных ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ процСсс ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ADO.NET, Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ Π³Π»Π°Π²Π½Ρ‹Π΅ шаги ΠΈ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ знания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

10. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Entity Framework Π² C#?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ Entity Framework ΠΊΠ°ΠΊ Object-Relational Mapping (ORM) Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΠΉ доступ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΡŽ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π°Ρ‘Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ООП, ΠΈ прСдоставляСт Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ автоматичСский ΠΌΠ°ΠΏΠΏΠΈΠ½Π³, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° LINQ ΠΈ отслСТиваниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: Β«Entity Framework β€” это ORM-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, созданный Microsoft. Он позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ООП вмСсто написания Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… SQL запросов. Entity Framework автоматичСски сопоставляСт Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с классами ΠΈ Π΄Π°Ρ‘Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° LINQ, отслСТиваниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ CRUD ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Он ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ доступ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π² прилоТСниях C#Β».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ объяснСниС Entity Framework, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Π³ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π³Π»Π°Π²Π½Ρ‹Π΅ особСнности ΠΈ прСимущСства доступа ΠΈ управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ ΠžΡ‚Π»Π°Π΄ΠΊΠ° Π² C#

11. Как ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ошибки Π² C#?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ошибки Π² C# ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π»ΠΎΠΊΠΎΠ² try-catch. ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ процСсс ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΈ прСдоставлСния фидбэка ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: Β«Π’ C# ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок производится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π»ΠΎΠΊΠΎΠ² try-catch. ΠœΡ‹ инкапсулируСм ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π² Π±Π»ΠΎΠΊΠ΅ try ΠΈ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Π±Π»ΠΎΠΊΠ°Ρ… catch. Π’ Π±Π»ΠΎΠΊΠ΅ catch ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΡ… ΠΈ Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ фидбэк. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ эффСктивной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹Π»Π΅Ρ‚ΠΎΠ² прилоТСния ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΒ».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ систСматичСский ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ошибок, дСлая ΡƒΠΏΠΎΡ€ Π½Π° Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π²Ρ‹Π»Π΅Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

12. Как произвСсти ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ прилоТСния C#?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Π² C# Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя установлСниС Ρ‚ΠΎΡ‡Π΅ΠΊ останова, пошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Π°Π½Π°Π»ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ использованиС инструмСнтов ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, прСдоставлСнных IDE. УпомянитС Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ логирования ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° для устранСния Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: «Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ прилоТСния C# ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ инструмСнты ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² Ρ‚Π°ΠΊΠΈΡ… IDE, ΠΊΠ°ΠΊ Visual Studio. ΠœΡ‹ устанавливаСм Ρ‚ΠΎΡ‡ΠΊΠΈ останова Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… строках ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ состояниС. Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ пошагово Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Π½Π°ΠΉΡ‚ΠΈ ошибки. Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ использованиС Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°ΠΌΠΈ для устранСния Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ ΠΈ изучСния повСдСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ процСсс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² C# с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ использования Ρ‚ΠΎΡ‡Π΅ΠΊ останова, пошагового выполнСния ΠΊΠΎΠ΄Π° ΠΈ эффСктивного использования инструмСнтов ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

ВСстированиС ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС Π² C#

13. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ провСсти Π² C#?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСстирования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ΄Π°. ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² C# ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС ΠΌΠΎΠΆΠ½ΠΎ провСсти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΈΡ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΊΠ°ΠΊ NUnit ΠΈΠ»ΠΈ MSTest, Π³Π΄Π΅ ΠΏΠΈΡˆΡƒΡ‚ΡΡ тСстовыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ повСдСния ΠΊΠΎΠ΄Π°.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: Β«ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС β€” это Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° тСстирования, Π³Π΄Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° для обСспСчСния ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ функционирования. Π’ C# ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС проводится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΈΡ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², ΠΊΠ°ΠΊ NUnit ΠΈΠ»ΠΈ MSTest. ΠŸΠΈΡˆΡƒΡ‚ΡΡ тСстовыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ части ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π³ΠΈ, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ качСство ΠΊΠΎΠ΄Π° ΠΈ содСйствуСт сопровоТдаСмости».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования, ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ популярныС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО.

14. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· тСстированиС (TDD)?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· тСстированиС ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π³Π΄Π΅ тСсты ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π΄ΠΎ написания самого ΠΊΠΎΠ΄Π°. ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ TDD ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ качСство ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ тСстовоС ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· тСстированиС (TDD) β€” ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ тСсты ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π΄ΠΎ написания ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΈ слСдовании TDD Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ сначала ΠΏΠΈΡˆΡƒΡ‚ тСсты, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ΠΈ ΠΏΠΈΡˆΡƒΡ‚ ΠΊΠΎΠ΄, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠΉ этим тСстам. TDD ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ качСство ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠ΅ тСстовоС ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ³Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ» тСстирования, написания ΠΊΠΎΠ΄Π° ΠΈ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π±ΠΎΠ»Π΅Π΅ чистому ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΌΡƒ ΠΊΠΎΠ΄ΡƒΒ».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°Ρ‚ΡŒ понятноС ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· тСстированиС, дСлая ΡƒΠΏΠΎΡ€ Π½Π° Π΅Ρ‘ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ»ΡŒΠ·Ρƒ для качСства ΠΊΠΎΠ΄Π° ΠΈ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ написания тСстов Π΄ΠΎ ΠΊΠΎΠ΄Π°.

Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для C#

15. ΠšΠ°ΠΊΠΎΠ²Ρ‹ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для написания чистого ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° C#?

  • Как ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: УпомянитС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ: использованиС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… соглашСний ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ…, использованиС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, написаниС ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, слСдованиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ SOLID.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°: «Для написания чистого ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° C# Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ. Π’ Π½ΠΈΡ… Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ использованиС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… соглашСний ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², написаниС конструктивных ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ части, оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ числа Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ слСдованиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ SOLID (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion)Β».
  • На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ части Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ для написания чистого ΠΊΠΎΠ΄Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ основныС элСмСнты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ соглашСния ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ…, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ, оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ слСдованиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ SOLID.

‍

Π’Ρ‹Π²ΠΎΠ΄

ΠœΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ ряд Ρ‚Π΅ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ основы C#, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, особСнности языка, Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ, тСстированиС ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹, благодаря ознакомлСнию с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ вопросами, ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ программиста ΠΈ ΠΏΡ€Π΅ΡƒΡΠΏΠ΅Ρ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ. Π£Π΄Π°Ρ‡ΠΈ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ

Π›Π£Π§Π¨Π˜Π• БВАВЬИ ПО Π’Π•ΠœΠ•

matyushkin
18 ΠΌΠ°Ρ€Ρ‚Π° 2020

ВОП-10 ΠΊΠ½ΠΈΠ³ ΠΏΠΎ C#: ΠΎΡ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° Π΄ΠΎ профСссионала

ΠžΡ‚ΠΎΠ±Ρ€Π°Π»ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ C#, .NET, Unity c Π»ΡƒΡ‡ΡˆΠΈΠΌΠΈ ΠΎΡ†Π΅Π½ΠΊΠ°ΠΌΠΈ. РасполоТил...
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
09 мая 2018

ЛогичСскиС ΠΈ матСматичСскиС Π·Π°Π΄Π°Ρ‡ΠΈ с собСсСдований

Π Π°Π·ΠΎΠΌΠ½Π΅ΠΌ ΠΌΠΎΠ·Π³! Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ собраны логичСскиС ΠΈ матСматичСскиС Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎ...
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
04 фСвраля 2018

Ѐриланс для программистов: ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° Π»ΡƒΡ‡ΡˆΠΈΡ… сайтов

МногиС ΠΈΡ‰ΡƒΡ‚ фриланс для программистов, Π½ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС Π·Π½Π°ΡŽΡ‚, Π³Π΄Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ. ...