Станіла М., ВИКОРИСТАННЯ ПАТЕРНУ MVC... - Форум
Пятниця, 09.12.2016, 23:13
Приветствую Вас Гість | Регистрация | Вход

Всеукраїнська студентська інтернет-конференція

Меню сайта
Форма входу
Друзі сайту
Статистика

Станіла М., ВИКОРИСТАННЯ ПАТЕРНУ MVC... - Форум

[ Нові повідомлення · Учасники · Правила форуму · Пошук · RSS ]
Сторінка 1 з 11
Форум » Матеріали конференції 15.01.2015 » Використання інформаційних технологій та економіко-математичних методів » Станіла М., ВИКОРИСТАННЯ ПАТЕРНУ MVC...
Станіла М., ВИКОРИСТАННЯ ПАТЕРНУ MVC...
conf-cvДата: Середа, 21.01.2015, 10:20 | Повідомлення # 1
Admin
Група: Адміністратори
Повідомлень: 1656
Нагороди: 5
Репутація: 8
Статус: Offline




Марія Станіла,





5 курс, спец. «Економічна кібернетика», д/ф,
Наук. кер. – Барасюк Я.М.,
Чернівецький торговельно-економічний інститут КНТЕУ,
м.Чернівці





ВИКОРИСТАННЯ ПАТЕРНУ MVC ПРИ РОЗРОБЦІ ДИНАМІЧНИХ WEB-ПРОГРАМ




На сьогодні існує багато платформ (фреймворків) для розробки web-програм, зокрема і на основі мови серверних сценаріїв PHP. До списку таких платформ можна віднести:
1. CodeIgniter (http://code-igniter.ru/).
2. ZendFramework (http://framework.zend.com/).
3. CakePHP (http://cakephp.org/).
4. Kohana (http://kohanaframework.org/).
5. Symfony (http://symfony.com/).
6. Yii (http://www.yiiframework.com/).
Саме на основі наведених фреймворків будуються великі, високопродуктивні, масштабні web-проекти, які складно реалізувати використовуючи «чистий» PHP.
Об’єктом дослідження в роботі є оцінка можливості використання платформ CodeIgniter та ZendFramework, які працюють за принципом моделі MVC для створення інформаційних систем, що використовуються в економіці та бізнесі.
MVC-модель булла розроблена для того, щоб отримати більш структурований код програми. Розшифровується MVC як «Модель-Відображення-Контролер» (Model-View-Controller). Зараз можна виділити два найбільш типових методи створення динамічних web-програм (сайтів). Далі в роботі обмежимось аналізом тільки тих технологій, що базуються на мові програмування PHP[1].
Перший метод називається «класичний». Він передбачає те, що в одному файлі одночасно може міститися PHP-код і HTML-розмітка. Файл складаєтьсч з HTML-тегів, у які в потрібних місцях робляться PHP-вставки, що забезпечують підключення до бази даних для отримання з неї інформації, автоматизацію операцій користувачів, обробки даних форм та ін. Таким чином, в одному файлі поєднуються засоби SQL, (X)HTML і PHP.
Другий метод пов’язаний з патерном MVC (Модель-Відображення-Контролер). Основна ідея цього підходу полягає у необхідності поділу однорідних елементів по різних файлах таким чином, щоб в одному файлі був фрагмент, написаний однією мовою, що в реальності не завжди вдається реалізувати.
Крім ідеї рознесення різних технологій в різні файли, ключовою концепцією MVC є також поділ файлів на групи відповідно з тими функціями, які вони виконують у програмі.
Дана модель передбачає поділ усіх файлів, задіяних при розробці сайту на три основні групи:
1. Файли групи «модель» (Model – M).
2. Файли групи «відображення» (View – V).
3. Файли групи «контролер» (Controller – C).
Принцип роботи обох підходів показано на рис. 1.

Рис. 1. «Класичний» підхід до створення web-програм та методика патерну MVC
В межах даної схеми в моделі зберігаються команди, пов'язані із взаємодією з базою даних: отримання даних, їх модифікація і видалення, підрахунок кількості записів у певних таблицях і т.п.
У контролері знаходиться логіка програми, тобто те, що визначає її функціонал.
Відображення ж призначено для показу даних, переданих контролером із моделі кінцевому користувачу.
Двонаправлені стрілки на рис. 1 показують те, що в парах «Модель-Контролер» і «Контролер-Відображення» існує взаємозв'язок (рис.2).

Рис. 2. Взаємодія елементів MVC
Якщо розглянути взаємодію елементів, зображених на рис. 2, то можна зробити опис роботи MVC:
1. Користувач вводить адресу web-сторінки, і браузер звертається до контролера.
2. Контролер звертається до моделі.
3.Модель звертається до бази даних (наприклад, для отримання необхідної для виведення інформації).
4. Інформація з бази потрапляє назад у модель.
5. З моделі інформація передається в контролер.
6. Контролер передає цю інформацію у відображення.
7. Відображення формує HTML файл, який передається в браузер за допомогою контролера.
Існує цілий ряд програмних каркасів (фреймворків), які підтримують патерн MVC. В роботі обмежимося аналізом двох найпопулярніших фреймворків (CodeIgniter та ZendFramework), які створені для мови серверних сценаріїв PHP.
CodeIgniter – програмний каркас, створений на PHP і призначений для розробки динамічних web-систем та фреймворків. Розроблений компанією EllisLab (https://ellislab.com/), а також Ріком Еллісом (Rick Ellis) та Полом Бурдіком (Paul Burdick). Це готовий каркас для програм, які будуть будуватися на його основі. У цей каркас включені найбільш часто використовувані бібліотеки[3].
Платформа є інструментарієм для тих, хто будує web-програми на PHP. Її мета в тому, щоб дати змогу розробляти програми швидше, ніж якщо б писати код «з нуля», надаючи багатий набір бібліотек для часто використовуваних завдань, а також простий інтерфейс і логічну структуру для доступу до цих бібліотек. CodeIgniter дозволяє творчо зосередитися на проектах, використовуючи мінімальний обсяг коду, необхідний для того чи іншого завдання.
Основне ядро вимагає невеликої кількості бібліотек. Розмір розгорнутого фреймворку складає біля 4 Мб, 358 файлів. Це відрізняє CodeIgniter від більшості фреймворків, які вимагають значно більших ресурсів. Додаткові бібліотеки завантажуються динамічно за запитом, залежно від потреб в той чи інший момент так, що ядро залишається дуже гнучким і швидким.
ZendFramework (ZF) – відкритий об'єктно-орієнтований PHP-фреймворк. Випускається під ліцензією BSD. Розмір розгорнутого фреймворку складає більше 10 Мб, 2548 файлів[3].
ZF намагається слідувати духу PHP, надає прості інтерфейси і потужну функціональність для розробки програм, надає розширення для побудови сучасних, швидких і безпечних сайтів. Ґрунтується на ідеях MVC. Розробляється компанією ZendTechnologies (http://www.zend.com/), що є розробником самого PHP.
Каркас включає такі компоненти як [6]:
• засоби розробки MVC (Model-View-Controller);
• прошарок для роботи з базами даних;
• пошуковий механізм, побудований на базі Lucene;
• компоненти інтернаціоналізації;
• API (Application Programming Interface) для автентифікації і відстеження користувацьких сесій;
• фільтрація даних, що надходять від користувача;
• класи для створення інтерактивних web-програм;
• робота з електронною поштою;
• ведення журналів операцій.
Крім MVC-компонентів ZendFramework містить багато бібліотек, корисних для побудови програми. Також є компоненти для інтеграції зі сторонніми сервісами – наприклад, YouTube (https://www.youtube.com/), del.icio.us (https://delicious.com/) і багатьма іншими. Починаючи з версії 1.6 поставляється з JavaScript-фреймворком Dojotoolkit (http://dojotoolkit.org/), а також включає в себе компоненти для роботи з ним.
Для роботи з MVC програмісту потрібно обрати для себе вид фреймворку, який задовольнить його потреби, а отже треба враховувати переваги та недоліки різних видів фреймворків. Проаналізуємо преваги та недоліки розглянутих фреймворків з точки зору їх використання для розробки інформаційних систем для економіки, зокрема проаналізуємо можливість їх використання для створення інформаційної системи обліку товарів торговельно-виробничого підприємства.
ZendFramework – безсумнівно один із найкращих фреймворків, через завершеність і продуману архітектуру, але, важливі недоліки теж є: навіть, якщо потрібно написати щось просте, то необхідно написати великий обсяг коду і витратити багато часу.
ZendFramework досить повільний і, якщо немає ніякої системи кешування, то ця бібліотека непридатна для проектів з високими навантаженнями. Вся справа в тому, що в бібліотеці всі класи розбиті по величезній кількості файлів, що призводить до завантаження великої кількості інформації. Іще одна проблема – те, що даний фреймворк має складну архітектуру, тому, якщо програмний код розробляє новачок, то йому буде важко розібратися.
Codeigniter – простий в освоєнні. Підтримує PHP 5, але має і недоліки: якщо розробляти великий додаток на CodeIgniter, то багатьох речей тут немає, порівняно з іншими фреймворками. Головна перевага – простота. В той же час він містить усі необхідні компоненти для ефективної роботи з базою даних, що робить CodeIgniter фактично ідеальним для розробки нескладних web-програм, для яких на передній план виходить їх швидкодія.
Отже, при виборі фреймворку необхідно чітко спланувати обсяг роботи та покладені завдання, адже в залежності від розміру майбутнього проекту та функціональності залежить який фреймворк більше підходить. Розглянувши фреймворки Codeigniter та ZendFramework, можна сказати, що і той і другий мають переваги та недоліки, тому вибір одного з них стоїть у покладених завданнях на код, який розробляє програміст. Зважаючи на специфіку задач обліку товарів та невеликий досвід розробника і майбутніх користувачів, кращим вибором буде CodeIgniter.

Список використаних джерел:
1. Понимание архитектуры MVC [Електронний ресурс]. – Режим доступу : URL : http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC
2. Ситник В.Ф. Основи інформаційних систем: Навч. посібник / В.Ф. Ситник, Т.А. Писаревська, Н.В. Єрьоміна, О.С. Краєва. – К. : КНЕУ, 2001. – 420с.
3. Gutmans Andi PHP5 Power Programming: Tutorial / Andi Gutmans, Stig Bakken, Derick Rethans. – US : Prentice Hall, 2004. – 720p.
4. PHP [Електронний ресурс]. – Режим доступу : URL : http://uk.wikipedia.org/wiki/PHP
5. Новак В.О. Інформаційні системи: Підручник / В.О. Новак, В.В. Матвєєв, В.П. Бондар, М.О. Карпенко. – К. : Каравелла, 2010. – 536с.
6. Хамел Г.Конкурируя за будущее. Создание рынков завтрашнего дня: пер. с англ. / Г.Хамел, К.К. Прахалад. – М. : ЗАО «Олимп-Бизнес», 2012. – 288с.


 
Форум » Матеріали конференції 15.01.2015 » Використання інформаційних технологій та економіко-математичних методів » Станіла М., ВИКОРИСТАННЯ ПАТЕРНУ MVC...
Сторінка 1 з 11
Пошук: