Автоматизация процесса внедрения зависимостей при разработке android-приложений #9101847

Артикул: 9101847
1 600p.
Оплатите артикул одним из 20 способов и сразу скачайте.
После оплаты он автоматически будет удален с сайта.
Никто кроме вас не сможет посмотреть его до 23.08.2024
ВВЕДЕНИЕ 3
1 ПОСТАНОВКА ЗАДАЧИ 5
1.1 Обзор существующих решений 5
1.2 Требования к программному продукту 6
2 РЕАЛИЗАЦИЯ ПРОГРАММНОГО ИНСТРУМЕНТА 8
2.1 Использованные технологии 8
2.2 Общая архитектура программного продукта 8
3 ПРИНЦИП РАБОТЫ БИБЛИОТЕКИ 11
3.1 Сбор информации о классах проекта 12
3.2 Генерация классов, внедряющих зависимости в корневые классы 14
3.3 Генерирование класса-фабрики 17
4 ФУНКЦИОНАЛЬНОСТЬ БИБЛИОТЕКИ 26
ЗАКЛЮЧЕНИЕ 30
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 32
ПРИЛОЖЕНИЕ 34

Одной из реализаций данного принципа является внедрение зависимостей – Dependency Injection. Этот процесс представляет собой передачу ответственности за построение требуемых модулю зависимостей специально предназначенному для этого внешнему механизму [2]. Другими словами, необходимые зависимости модулю предоставляются извне.
Также следование описанному принципу упрощает тестирование продукта. Если все компоненты системы сильно завязаны друг на друге, невозможно подменить какие-либо ее части, чтобы изолировать одну из них и проверить ее работоспособность. Некоторые модули могут быть, к примеру, слишком тяжеловесными, в таком случае тестирование будет занимать значительное время; либо же зависящими от внешних сервисов, изменение поведения которых может быть и вовсе невозможно.
Для реализации Dependency Injection используются такие инструменты, как Dagger 2, называемые DI-фреймворками [3]. Они предоставляют механизм для создания и внедрения зависимостей. При их использовании были выявлены следующие недостатки:
● Необходимость написания в большинстве случаев неоправданно большого количества кода для настройки - например, Dagger 2 требует написания 3-х дополнительных классов для каждого экрана приложения [4];
● Отсутствие автоматической конфигурации и автоматического поиска зависимостей;
● В случае простой настройки, которая не требует большого количества программного кода, работа приложения заметно замедляется из-за особенностей реализации библиотеки.
Целью данной выпускной квалификационной работы является разработка базовой функциональности DI-фреймворка, учитывающей эти недостатки.
Были поставлены следующие задачи:
1. Разработать механизм автоматического поиска реализаций зависимостей;
2. Разработать механизм создания экземпляров классов зависимостей;
3. Разработать механизм внедрения созданных экземпляров классов зависимостей.
1. The Solution for Decoupling: Dependency Injection | Inversion of Control with the Managed Extensibility Framework (MEF) | InformIT [Электронный ресурс]. - Режим доступа: http://www.informit.com/articles/article.aspx? p=1635818&seqNum=2 (дата обращения: 03.06.2018).
2. Clean Code: A Handbook of Agile Software Craftsmanship [Текст] / Robert
C. Martin. - Pearson Education, 2008. - 464 c.
3. IoC, DI, IoC-контейнер [Электронный ресурс]. - Режим доступа: https://habr.com/post/131993/ (дата обращения: 03.06.2018).
4. User’s Guide | Dagger [Электронный ресурс]. - Режим доступа: https://google.github.io/dagger/users-guide (дата обращения: 03.06.2018).
5. The Android Arsenal - Dependency Injections - A categorized directory of libraries and tools for Android | The Android Arsenal [Электронный ресурс]. - Режим доступа: https://android-arsenal.com/tag/28?sort=rating (дата обращения: 03.06.2018).
6. Guice is a lightweight dependency injection framework for Java 6 and above, brought to you by Google [Электронный ресурс]. - Режим доступа: https://github.com/google/guice (дата обращения: 03.06.2018).
7. Using Java Reflection [Электронный ресурс]. - Режим доступа: http://www.oracle.com/technetwork/articles/java/javareflection-1536171.html (дата обращения: 08.06.2018).
8. Gradle Build Tool [Электронный ресурс]. - Режим доступа: https://gradle.org (дата обращения: 10.06.2018).
9. Java Platform SE 7 [Электронный ресурс]. - Режим доступа: https://docs.oracle.com/javase/7/docs/api/javax/annotation/processing/package-su mmary.html (дата обращения: 10.06.2018).
10. A Java API for generating .java source files. [Электронный ресурс]. - Режим доступа: https://github.com/square/javapoet (дата обращения: 10.06.2018).
Материалы, размещаемые в каталоге, с согласия автора, могут использоваться только в качестве дополнительного инструмента для решения имеющихся у вас задач, сбора информации и источников, содержащих стороннее мнение по вопросу, его оценку, но не являются готовым решением. Пользователь вправе по собственному усмотрению перерабатывать материалы, создавать производные произведения, соглашаться или не соглашаться с выводами, предложенными автором, с его позицией.
Тема: Автоматизация процесса внедрения зависимостей при разработке android-приложений
Артикул: 9101847
Дата написания: 23.12.2018
Тип работы: Дипломная работа
Предмет: Информационные системы и технологии
Оригинальность: Антиплагиат.ВУЗ — 83%
Количество страниц: 44
Скрин проверки АП.ВУЗ приложен на последней странице.

В работе представлены только пояснительная записка и листинг программы. Самой программы нет
А ты умеешь выполнять такие работы?

Файлы артикула: Автоматизация процесса внедрения зависимостей при разработке android-приложений по предмету информационные системы и технологии

Пролистайте "Автоматизация процесса внедрения зависимостей при разработке android-приложений" и убедитесь в качестве

После покупки артикул автоматически будет удален с сайта до 23.08.2024
Дипломная — Автоматизация процесса внедрения зависимостей при разработке android-приложений — 1
Дипломная — Автоматизация процесса внедрения зависимостей при разработке android-приложений — 2
Дипломная — Автоматизация процесса внедрения зависимостей при разработке android-приложений — 3
Дипломная — Автоматизация процесса внедрения зависимостей при разработке android-приложений — 4
Дипломная — Автоматизация процесса внедрения зависимостей при разработке android-приложений — 5
Дипломная — Автоматизация процесса внедрения зависимостей при разработке android-приложений — 6
Посмотреть остальные страницы ▼
Честный антиплагиат! Честный антиплагиат!
Уникальность работы — 83% (оригинальный текст + цитирования, без учета списка литературы и приложений), приведена по системе Антиплагиат.ВУЗ на момент её написания и могла со временем снизиться. Мы понимаем, что это важно для вас, поэтому сразу после оплаты вы сможете бесплатно поднять её. При этом текст и форматирование в работе останутся прежними.
Гарантируем возврат денег! Гарантируем возврат денег!
Качество каждой готовой работы, представленной в каталоге, проверено и соответствует описанию. В случае обоснованных претензий мы гарантируем возврат денег в течение 24 часов.

Утром сдавать, а работа еще не написана?

Утром сдавать, а работа еще не написана?
Через 30 секунд после оплаты вы скачаете эту работу!
Сегодня уже купили 38 работ. Успей и ты забрать свою пока это не сделал кто-то другой!