Presentation is loading. Please wait.

Presentation is loading. Please wait.

Увеличение модульности программного обеспечения на языке Java Курсовая работа студента 345 группы Абишева Тимура Маратовича Научный руководитель: Профессор.

Similar presentations


Presentation on theme: "Увеличение модульности программного обеспечения на языке Java Курсовая работа студента 345 группы Абишева Тимура Маратовича Научный руководитель: Профессор."— Presentation transcript:

1 Увеличение модульности программного обеспечения на языке Java Курсовая работа студента 345 группы Абишева Тимура Маратовича Научный руководитель: Профессор В. О. Сафонов Санкт-Петербург, СПбГУ, 2010

2 Проблема модульности Малая модульность это Увеличение размера команды разработчиков Сложность тестирования Уменьшение возможностей повторного использования

3 Модульность в Java Уровни модульности в Java класс пакет программа

4 Постановка задачи Ввести новый уровень модульности, больший чем пакет Уменьшить связанность программного обеспечения

5 Обращение контроля Принцип уменьшающий зависимости в коде, с помощью выделения зависимостей в конфигурации Используется повсеместно Популярные реализации: Google Guice SpringSource Spring Framework PicoСontainer

6 tcontainer. Основные понятия Бин — наименьшая структурная единица Модуль — структура принимающая входные бины и отдающая выходные Это и есть новый уровень модульности Входные бины — зависимости нашего модуля Выходный бины — то что он предоставляет

7 tcontainer. Типы конфигураций Два типа конфигураций Java XML

8 tcontainer. Контексты Созданы два вида контекстов для конфигураций Тестирующий, для проверки корректности модулей, даже без поддержки со стороны IDE Выполняющий, для создания бинов

9 tcontainer. Пример Модуль delayedJobs Требует для работы бин с конфигурацией баз данных Предоставляет DJControl Модуль delayedJobsUI Требует DJControl Предоставляет приложение для запуска Модуль delayedJobsConfig Содержит настройки базы данных

10 tcontainer. Существующие решения Понятие родительского/дочернего контейнера в PicoContainer Импорт конфигураций в Spring

11 Результаты Создан IoC фреймворк для языка Java со следующими возможностями два вида конфигураций возможность проверки конфигураций без поддержки со стороны IDE зависимости между модулями Получен опыт разработки с использованием Java Reflection http://github.com/ttim/tcontainer


Download ppt "Увеличение модульности программного обеспечения на языке Java Курсовая работа студента 345 группы Абишева Тимура Маратовича Научный руководитель: Профессор."

Similar presentations


Ads by Google