Главная страница
Навигация по странице:

  • Архитектурные паттерны проектирования для платформы

  • Магистерская диссертация тема работы Разработка мобильного приложения детектирования и распознавания текстов на изображениях для платформы ios


    Скачать 1.55 Mb.
    НазваниеМагистерская диссертация тема работы Разработка мобильного приложения детектирования и распознавания текстов на изображениях для платформы ios
    Дата27.01.2019
    Размер1.55 Mb.
    Формат файлаpdf
    Имя файлаTPU552789.pdf
    ТипДиссертация
    #65474
    страница14 из 23
    1   ...   10   11   12   13   14   15   16   17   ...   23

    Так как со средой разработки определились, необходимо выбрать язык разработки приложения. В Xcode можно выбрать два варианта:

    Swift;

    Objective-C;
    Рассмотрим эти варианты более подробно.

    Swift;
    Создан в 2014 году, специалисты Apple представили его как замену привычному Objective-C. Среди преследуемых целей были заявлены повышенная читаемость кода и устойчивость к ошибкам разработчика.
    Плюсы:

    Для написания приложения требуется меньше кода, хотя бы просто потому, что здесь реализован упрощенный принцип работы с повторяющимися строками и заявлениями;

    Удобен для чтения. Стандартное достоинство любого современного языка;

    Больше возможностей по сравнению с Objective-C, в частности возможность управлять памятью;

    Полноценное взаимодействие с кодом, написанным на Objective-
    C;

    Повышенная безопасность.
    Минусы:

    Из-за молодости языка и не переведённых на Swift кодов OS X и iOS требуется хотя бы минимальное знание Objective-C;

    Компилятор выдаёт излишние и сбивающие с толку ошибки, которые разработчику, пришедшему с других языков покажутся как минимум необычными.
    2)
    Objective-C
    Создан в начале 80-х годов прошлого века, путём скрещивания С с популярным в то время Smalltalk.
    Плюсы:


    Динамическая типизация.
    В некоторых случаях, это действительно может стать ключевым преимуществом. Например, упрощает создание несложных программ;

    Документация и сообщества. Более 20 лет успешного применения языка поспособствовали появлению большого количества качественных ресурсов и книг. Сегодня любой, кто желает изучить
    Objective-C, без труда найдёт ответ на интересующий вопрос на просторах интернета;

    В сравнении с С++, да и многими другими языками того времени,
    Objective-C предоставляет разработчику куда больше гибкости.

    Относительная простота синтаксиса. Простота заключается в понимании алгоритмов и того, как работает исполняемая машина.
    Минусы:

    Низкая читаемость кода, что затрудняет изучение языка;

    Динамическая типизация предполагает возможность появления ошибок даже во время компиляции.

    Ограниченная функциональность.

    Не самая высокая производительность, вызванная динамической типизацией.
    Вывод: исходя из достоинств и недостатков данных языков видно, что
    Swift выигрывает по многим показателям, несмотря на то, что он является еще очень молодым языком. Писать на нем приложения намного быстрее и удобнее.
    Архитектурные паттерны проектирования для платформы
    iOS
    Шаблон проектирования или паттерн (англ. design pattern) в разработке программного обеспечения — повторяемая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста. [20]

    На данный момент существуют следующие шаблоны разработки программных продуктов:
    1)
    MVC
    2)
    MVP
    3)
    MVVM
    4)
    VIPER
    Рассмотрим каждый из них более подробно.
    1)
    MVC
    MVC – это фундаментальный паттерн, который нашел применение во многих технологиях, дал развитие новым технологиям и каждый день облегчает жизнь разработчикам.

    Модель (Model) предоставляет данные и реагирует на команды контроллера, изменяя свое состояние.

    Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели.

    Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений.
    Основная цель применения этой концепции состоит в отделении бизнес-логики (модели) от её визуализации (представления, вида). За счёт такого разделения повышается возможность повторного использования кода.
    Наиболее полезно применение данной концепции в тех случаях, когда пользователь должен видеть те же самые данные одновременно в различных контекстах и/или с различных точек зрения.

    Рисунок 7. – стандартный шаблон проектирования MVC.
    В традиционном MVC View не хранит состояния в себе. Controller просто воспроизводит View при изменениях Model. Например, веб-страница полностью перегружается после того, как вы нажмете на ссылку для перехода в другое место. Хотя можно реализовать традиционный MVC в среде iOS, это не имеет особого смысла из-за архитектурной проблемы: все три сущности тесно связаны, каждая сущность знает о двух других. Это сильно снижает возможность повторного использования каждого из элементов. По этой причине мы не будем даже пытаться написать пример канонического MVC.
    Традиционный MVC является неприемлемым к современной iOS разработке.
    Далее рассмотрим вариант MVC от Apple.
    Рисунок 8. – шаблон проектирования MVC от Apple.
    Controller является посредником между View и Model, следовательно, две последних не знают о существовании друг друга. Поэтому Controller трудно повторно использовать.
    В теории все выглядит очень просто, однако все не так верно. Многие часто слышали, что люди расшифровывают MVC как Massive View
    Controller. Кроме того, разгрузка ViewController стала важной темой для iOS- разработчиков.
    Как на самом деле выглядит применение шаблона проектирования
    MVC в iOS разработке.
    1   ...   10   11   12   13   14   15   16   17   ...   23


    написать администратору сайта