Інверсія керування: відмінності між версіями

[перевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Виправлено джерел: 1; позначено як недійсні: 1. #IABot (v2.0beta15)
мНемає опису редагування
Мітки: перше редагування Візуальний редактор
Рядок 8:
Натомість, у випадку інверсії управління, програма пишеться із використанням [[Програмний каркас|програмного каркасу]], який знає загальні поведінкові і графічні елементи, такі як віконний інтерфейс, меню, керування мишкою тощо Користувацький код «заповнює пробіли» у каркасі, такі як надавання таблиці елементів меню і реєстрація підпрограм для кожного елемента, але відслідковування дій користувача і виклик пов'язаної підпрограми є завданням каркасу. У прикладі поштового клієнта, каркас може слідкувати за клавіатурою і мишкою і викликати команду обрану користувачем, також одночасно з цим моніторити мережевий інтерфейс, щоб помітити прибуття нового повідомлення і оновити екран коли з'являється мережева активність. Цей самий каркас можна використати як скелет для програми електронних таблиць або текстового редактора. З іншого боку каркас нічого не знає про веб-оглядачі, електронні таблиці, текстові редактори; втіленням їх функціональності займається користувацький код.
 
Інверсія управління несе важливу ідею, що повторно використовний код і задачазавдання-залежний код розробляються незалежно, хоча й діють разом. [[Програмний каркас|Програмні каркаси]], [[callback (програмування)|callback'и]], [[Планувальник операційної системи|планувальники]], [[цикл подій|цикли подій]] і [[впровадження залежностей]] є прикладами шаблонів, що слідують принципу інверсії управління, хоча термін найчастіше вживається в контексті [[Об'єктно-орієнтоване програмування|ООП]].
 
 
== Принцип інверсії залежностей ==