Front Controller (фронт-контролер, єдина точка входу) - шаблон проєктування, який є спеціалізованою варіацією шаблону проєктування Посередник. Задачею фронт-контролера є надання єдиної точки входу для обробки усіх запитів та виклик відповідної поведінки в залежності від запиту.
Фронт-контролер найчастіше використовується у вебзастосунках, де є багато подібних речей, які потрібно виконати при обробці запиту. Це може бути безпека, інтернаціоналізація, забезпечення певного вигляду для певних користувачів. Якщо обробка вхідних запитів розподілена між кількома контролерами це може призвести до дублювання поведінки. Крім того виникають складності зі зміною поведінки під час виконання. Фронт-контролер об'єднує обробку запитів шляхом їх направлення через єдиний об'єкт-обробник. Цей об'єкт реалізовує загальну поведінку, яка може бути змінена під час виконання за допомогою декораторів. Після цього Front controller створює потрібні об'єкти відповідно до запиту та викликає методи для реалізації конкретної задачі.
Фронт-контролер може бути реалізований у вигляді Java-об'єкта, або, як скрипт PHP, ASP, JSP або CFML, що викликається на кожен запит вебсесії. Цей скрипт, наприклад index.php, буде обробляти всі запити, що є спільними для вебзастосування або фреймворку, наприклад обробка сесій, кешування і фільтрація вхідних даних.
Альтернативою фронт-контролеру можуть бути окремі скрипти наприклад login.php і order.php для обробки певного типу запиту. Кожному скрипту доведеться дублювати код або об'єкти, які є спільними для всіх запитів, але кожен скрипт має порівняно більшу гнучкість для обробки конкретного запиту.
Приклади
Zend Framework та інші MVC фреймворки PHP
Джерела
Martin Fowler. Front Controller [ 21 квітня 2012 у Wayback Machine.]
Посилання
Див. також
Посередник (шаблон проєктування)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Front Controller front kontroler yedina tochka vhodu shablon proyektuvannya yakij ye specializovanoyu variaciyeyu shablonu proyektuvannya Poserednik Zadacheyu front kontrolera ye nadannya yedinoyi tochki vhodu dlya obrobki usih zapitiv ta viklik vidpovidnoyi povedinki v zalezhnosti vid zapitu Front kontroler najchastishe vikoristovuyetsya u vebzastosunkah de ye bagato podibnih rechej yaki potribno vikonati pri obrobci zapitu Ce mozhe buti bezpeka internacionalizaciya zabezpechennya pevnogo viglyadu dlya pevnih koristuvachiv Yaksho obrobka vhidnih zapitiv rozpodilena mizh kilkoma kontrolerami ce mozhe prizvesti do dublyuvannya povedinki Krim togo vinikayut skladnosti zi zminoyu povedinki pid chas vikonannya Front kontroler ob yednuye obrobku zapitiv shlyahom yih napravlennya cherez yedinij ob yekt obrobnik Cej ob yekt realizovuye zagalnu povedinku yaka mozhe buti zminena pid chas vikonannya za dopomogoyu dekoratoriv Pislya cogo Front controller stvoryuye potribni ob yekti vidpovidno do zapitu ta viklikaye metodi dlya realizaciyi konkretnoyi zadachi Front kontroler mozhe buti realizovanij u viglyadi Java ob yekta abo yak skript PHP ASP JSP abo CFML sho viklikayetsya na kozhen zapit vebsesiyi Cej skript napriklad index php bude obroblyati vsi zapiti sho ye spilnimi dlya vebzastosuvannya abo frejmvorku napriklad obrobka sesij keshuvannya i filtraciya vhidnih danih Alternativoyu front kontroleru mozhut buti okremi skripti napriklad login php i order php dlya obrobki pevnogo tipu zapitu Kozhnomu skriptu dovedetsya dublyuvati kod abo ob yekti yaki ye spilnimi dlya vsih zapitiv ale kozhen skript maye porivnyano bilshu gnuchkist dlya obrobki konkretnogo zapitu PrikladiZend Framework ta inshi MVC frejmvorki PHP ASP NET MVC FrameworkDzherelaMartin Fowler Front Controller 21 kvitnya 2012 u Wayback Machine PosilannyaDiv takozhPoserednik shablon proyektuvannya