Останні роки сучасні та затребувані програмні застосування та інформаційні системи все частіше створюються за допомоги використання різних архітектурних рішень та шаблонів. Зокрема, актуальними паттернами для застосування при розробці систем з елементами штучного інтелекту є орієнтовані на клієнт-серверну взаємодію. В основу розроблення проекту інформаційної системи розпізнавання обличь людини можуть бути закладено 2 наступних патерни [1].
MVVM (Model-View-ViewModel) шаблон дозволяє відокремити логіку програми від візуальної частини (подання). MVVM складається з трьох компонентів: моделі (Model), моделі уявлення (ViewModel) та уявлення (View).
Модель описує дані, що використовуються в додатку. Моделі можуть містити логіку, безпосередньо пов'язану з цими даними, наприклад, логіку валідації властивостей моделі.
У той же час модель не містить жодної логіки, пов'язаної з відображенням даних та взаємодією з візуальними елементами керування, зокрема для проведення досліджень по точності розпізнавання обличь. View або подання визначає візуальний інтерфейс, через який користувач взаємодіє з програмою. ViewModel або модель подання пов'язує модель і подання через механізм прив'язування даних [2].
Якщо в моделі змінюються значення властивостей, при реалізації моделлю інтерфейсу автоматично йде зміна даних, що відображаються в поданні, хоча безпосередньо модель і уявлення не пов'язані [3].
MVC – Model View Controller. Цей шаблон поділяє роботу веб-додатка на три окремі функціональні ролі: модель даних (model), інтерфейс користувача (view) і логіку, що управляє (controller). Таким чином, зміни, що вносяться в один із компонентів, мають мінімально можливий вплив на інші компоненти.
Модель / Model - являє собою об'єктну модель якоїсь предметної області, включає дані та методи роботи з цими даними, реагує на запити з контролера, повертаючи дані та/або змінюючи свій стан. При цьому модель не містить у собі інформації про способи візуалізації даних або формати їх подання, а також не взаємодіє з користувачем безпосередньо.
Подання / View – відповідає за відображення інформації (візуалізацію). Одні й самі дані можуть представлятися різними способами й у різних протарних форматах. Наприклад, колекцію об'єктів розпізнаних обличч за допомогою різних уявлень можна представити на рівні інтерфейсу користувача як в табличному вигляді, так і списком; на рівні API можна експортувати дані як у JSON, так і в XML або XSLX.
Контролер / Controller – забезпечує зв'язок між користувачем та системою, використовує модель та подання для реалізації необхідної реакції на дії користувача. На рівні контролера здійснюється фільтрація отриманих даних по зображеннях та авторизація - перевіряються права користувача на виконання дій або отримання інформації, якщо його біометричні дані є коректними.
Висновки. Поєднання розглянутих паттернів при реалізації інформаційної системи є доцільним через їх гнучкість та підтримку чіткої структури коду..
Список використаних джерел
1.Хорев П.Б. Об'єктно-орієнтоване програмування. – В.: Академія, 2015. - 446 с.
2.Склярєв О.М. Розробка програмних продуктів мовами високого рівня. - Д.: Глоунас, 2014. - 541 с.
3.Камаєв В.А. Технології програмування. - О.: Вищ. шк. Ек., 2016. - 314 с..
|