Главная страница

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


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

Рисунок 9. – реальность применения шаблона проектирования MVC в iOS разработке.
Cocoa MVC поощряет написание Massive View Controller, потому что контроллер настолько вовлечен в жизненный цикл View, что трудно сказать, что он является отдельной сущностью. Хотя имеется возможность переложить часть бизнес-логики и преобразования данных в Model, но когда доходит до пердачи работы во View, это становится не очень возможным. В большинстве случаев вся ответственность View состоит в том, чтобы отправить действия к контроллеру. В итоге все заканчивается тем, что View
Controller становится делегатом и источником данных, а также местом запуска и отмены серверных запросов и, в общем-то, всего чего угодно.
На самом деле, использование MVC не так уж плохо, пока дело не доходит до Unit тестов. Так как View Controller тесно связана с View, ее становится трудно тестировать, и приходится идти изощренным путем, заменяя
View
Mock-объектами
(в объектно-ориентированном программировании — тип объектов, реализующих заданные аспекты моделируемого программного окружения) и имитируя их жизненный цикл, а также писать код View Controller таким образом, чтобы бизнес-логика была по максимуму отделена от кода view layout.
Кроме того, написанный таким образом код сложно использовать в других приложениях, так как все элементы тесно связаны и разделить их очень тяжело.
2)
MVP

Model-View-Presenter (MVP) — шаблон проектирования, производный от
MVC, который используется в основном для построения пользовательского интерфейса.
Элемент Presenter в данном шаблоне берёт на себя функциональность посредника (аналогично контроллеру в MVC) и отвечает за управление событиями пользовательского интерфейса так же, как в других шаблонах обычно отвечает представление.
Рисунок 10.– шаблон проектирования MVP.
MVP — шаблон проектирования пользовательского интерфейса, который был разработан для облегчения автоматического модульного тестирования и улучшения разделения ответственности в презентационной логике (отделения логики от отображения):

Модель (англ. Model) — хранит в себе всю бизнес-логику, при необходимости получает данные из хранилища.

Представление (англ. View) — реализует отображение данных
(из Модели), обращается к Presenter за обновлениями.

Представитель (англ. Presenter) — реализует взаимодействие между моделью и представлением.
С точки зрения MVP, подклассы UIViewController на самом деле есть
View, а не Presenter. Это различие обеспечивает превосходную тестируемость, которая идет за счет скорости разработки, потому что вы должны связывать вручную данные и события именно между View и
Presenter.
MVP является первым паттерном, выявляющим проблему сборки, которая происходит из-за наличия трех действительно отдельных слоев. Так
как нам не нужно, чтобы View знала о Model, выполнять сборку в презентующей View Controller (который на самом деле View) неправильно, следовательно, это нужно сделать в другом месте. Например, можно создать сервис Router, который будет отвечать за выполнение сборки и презентацию
View-to-View. Эта проблема возникает не только в MVP, ее также нужно решать во всех последующих паттернах.
Признаки хорошей архитектуры для MVP:
• распределение: большая часть ответственности разделена между
Presenter и Model, а View ничего не делает;
• тестируемость: отличная, мы можем проверить большую часть бизнес-логики благодаря бездействию View;
• простота использования;
Применение MVP в iOS означает превосходную тестируемость и много кода.
3)
MVVM
Шаблон Model-View-ViewModel (MVVM) — применяется при проектировании архитектуры приложения. Первоначально был представлен сообществу Джоном Госсманом (John Gossman) в 2005 году как модификация шаблона Presentation Model. MVVM ориентирован на современные платформы разработки.
Шаблон MVVM делится на три части:

Модель (англ. Model), так же, как в классической MVC.

Представление (англ. View) — это графический интерфейс, то есть окно, кнопки и т. п.

Модель Представления (англ. ViewModel) является, с одной стороны, абстракцией Представления, а с другой, предоставляет обёртку данных из Модели, которые подлежат связыванию.
1   ...   11   12   13   14   15   16   17   18   ...   23


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