Loading...

Какво е Inversion of Control?

avatar Георги Кацаров 1 минута 211
Какво е Inversion of Control?

Inversion of Control е принцип в програмирането, който обръща т.нар. „control flow“. „Control flow“ (или „flow of control“) наричаме реда (последователността) в който отделните заявки, инструкции или извиквания на функции в императивното програмиране се изпълняват или оценяват. Акцентът върху изричния контрол е това, което разграничава императивните програмни езици от декларативните такива. Но нека се върнем на инверсията.

При Inversion of Control (“IoC“ за по-кратко) отделни части от компютърната програма получават получават този поток (flow of control-а) от стандартна технологична рамка (framework). Софтуерна архитектура с IoC дизайн преобръща контрола в сравнение с традиционното процедурно програмиране: при него кодът, който изразява предназначението на програмата извиква преизползваеми библиотеки, които да се погрижат за еднотипните задачи, но при IoC е обратното – фреймуъркът извиква специфични части от кода, които са подходящи за определени задачи.

Inversion of control се използва, за да се повиши модулността на една програма и да я направи по-лесно разширима, като може да съчетава различни програмни парадигми. IoC е свързан, но все пак се различава от т.нар. ”dependency inversion principle”, който се отнася за отделянето на зависимости между „слоевете“ от високо и ниско ниво, чрез общи абстракции. Общата концепция е свързана и с event-driven програмирането, като често пъти се имплементира в съчетание с IoC, така че програмният код отговаря за обработката на събитията.

Inversion of Control е залегнал в Spring MVC технологичната рамка, която е отличен избор за разработката на съвременни Java уеб приложения. Ако имате основни познания по обектно-ориентирано програмиране с езика Java и искате да надградите своите умения по един пълноценен начин – направете това с курса „Java MVC Frameworks - Spring - февруари 2019“. Не пропускайте този шанс, а се запишете още днес!

Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.