Тема: РАЗРАБОТКА ФРЕЙМВОРКА ДЛЯ АВТОМАТИЗАЦИИ СОЗДАНИЯ КОНТРОЛЛЕРОВ ПРИ ПРОЕКТИРОВАНИИ КОРПОРАТИВНЫХ ПРИЛОЖЕНИЙ НА ЯЗЫКЕ JAVA
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1. ПОСТАНОВКА ЗАДАЧИ 5
1.1 Существующие решения 5
1.2 Актуальность выбранных технологий 6
1.2 Требования к решению 8
1.3 Технология разработки 9
1.3.1 Архитектура серверной части приложения веб-приложения 9
1.3.2 Способы анализа кода 11
1.3.3 Метаданные фасада 13
1.3.4 Генерация путей к ресурсам 14
1.3.5 Запуск Web Generator 14
1.4 Вывод 15
2. РЕАЛИЗАЦИЯ ФРЕЙМВОРКА 15
2.1 Компоненты Web Generator 16
2.1.1 Аннотации 16
2.1.2 Сервис генерации кода и вспомогательные классы 19
2.1.3 Генерация методов контроллера 23
2.2 Реализация процесса запуска 30
2.2.1 Этапы настройки приложения 30
2.2.2 Интерфейс GenerationService 33
2.2.3 Расширение контейнера Spring Framework 33
2.3 Архитектура Web Generator 34
2.4 Сценарий работы 35
3. ПРИМЕНЕНИЕ РЕШЕНИЯ 36
3.1 Описание тестового приложения и применение Web Generator 36
3.2 Интеграционное тестирование сгенерированного кода 44
3.3. Применение решения на реальном проекте и оценка результатов 46
ЗАКЛЮЧЕНИЕ 46
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 47
ПРИЛОЖЕНИЕ
📖 Введение
Несмотря на нынешнюю тенденцию фреймворков облегчить и упростить создание программных продуктов посредством уменьшения повторяющегося кода, имеется потребность в создании программного инструмента, позволяющего ускорить процесс разработки.
Необходимость в подобном сервисе была выявлена на практике. В ходе работы над различными коммерческими проектами с использованием языка программирования Java и Spring Framework необходимо выполнять много шаблонной работы при написании классов контроллеров в веб-приложении. Данная проблема особенно актуальна в системах, в которых используются паттерн Модель-Представление-Контроллер (англ. Model-View-Controller - MVC) и REST- архитектура.
Целью работы является создание инструмента, обладающего элементами метапрограммирования [1], который позволит генерировать контроллеры при разработке серверной части веб-приложения на Java с использованием Spring Framework и концепцией REST API.
Для достижения поставленной цели были решены следующие задачи:
• Выбор способа генерации кода, проведение анализа возможных альтернатив.
• Выбор способа получения метаинформации о существующем коде для использования ее в качестве основы для будущих классов.
• Реализация системы анализа исходного кода для генерации URL-адресов.
• Применение выбранного метода генерации кода.
• Оценка влияния использования фреймворка на скорость и качество раз-работки веб-приложения.
✅ Заключение
Фреймворк решает проблему написания шаблонного кода при разработке приложений.
Данный программный инструмент представляет собой генератор исходного кода контроллеров, где контроллеры являются компонентом приложения, в котором используется паттерн проектирования Model-View-Controller. Web Generator анализирует код классов, инкапсулирующих бизнес логику приложения, получает метаданные и на основе этой информации генерирует исходный код.
Для применения Web Generator необходимо подключить фреймворк, пометить классы сервис-слоя аннотациями и добавить постпроцессор Web Generator в конфигурацию приложения.
Разработанный фреймворк генерации кода может существенно повлиять на скорость и качество разработки системы. Данное утверждение проверено на практике при разработке коммерческого проекта.
Дальнейшая работа по развитию фреймворка предполагает выявление фрагментов в приложениях, где присутствует шаблонный код, таких как: конфигурация приложения, SQL-запросы и т.д. Кроме того, следует добавить возможность применения Web Generator при использовании других паттернов проектирования. Дальнейшее увеличение функционала системы позволит избавить разработчиков от выполнения однотипной работы.



