Inversion of Control

ОписаниС:

  • Inversion of Control (IOC, Π˜Π½Π²Π΅Ρ€ΡΠΈΡ управлСния) - ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊ управлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ оборачиваСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ. ΠŸΡ€ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ врСмя ΠΈ порядок Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ IOC Π½Π΅ΠΊΠΈΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΈΠ»ΠΈ структура ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ»ΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ ΠΠ°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŒ. ΠžΠ±Ρ‰ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ Π² событийной ΠΌΠΎΠ΄Π΅Π»ΠΈ программирования, которая часто рСализуСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ IOC - ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠΎΠ΄ занимаСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ событий, Π² Ρ‚ΠΎ врСмя, ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ событий управляСтся Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ.

  • Dependency Inversion Principle (DIP, ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ инвСрсии зависимости, soliD) - ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, ΠΏΡ€ΠΈΠ·Π²Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ зависимостСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ состоит ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… постулатов:

    • ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π²Π΅Ρ€Ρ…Π½ΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½ΠΈΠΆΠ½ΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ. И Ρ‚Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ абстракций

    • Абстракции Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ. Π”Π΅Ρ‚Π°Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ абстракций

  • Dependency Injection (DI, Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимостСй) - ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ классу Π΅Π³ΠΎ зависимостСй. Π‘Ρ‹Π²Π°Π΅Ρ‚ нСсколько Π²ΠΈΠ΄ΠΎΠ² DI:

    • Constructor Injection - Ρ‡Π΅Ρ€Π΅Π· конструктор, для зависимостСй Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… всСму классу

    • Method Injection - Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄, для зависимостСй Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ

    • Property Injection - Ρ‡Π΅Ρ€Π΅Π· свойство, для Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… зависимостСй

  • DI-container - Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ВнСдрСния зависимостСй

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

Last updated

Was this helpful?