Шаблон Инверсия управления. Повторение кода, проблема порядка инициализации, замена mock-объектами при модульном тестировании презентация

Характеристики программных объектов Статические: Тип объекта (класс, интерфейс) Методы и свойства объекта (из иерархии классов/интерфейсов) Динамические: Жизненный цикл объекта (создание, инициализация, удаление) Зависимости объекта от других объектов Безопасность использования в многопоточной

Слайд 1Шаблон «Инверсия управления» Использование Spring Framework


Слайд 2Характеристики программных объектов
Статические:
Тип объекта (класс, интерфейс)
Методы и свойства объекта (из иерархии

классов/интерфейсов)
Динамические:
Жизненный цикл объекта (создание, инициализация, удаление)
Зависимости объекта от других объектов
Безопасность использования в многопоточной среде



Слайд 3Жизненные циклы объектов
Долгоживущие (пока работает программа)
Сервисы, контроллеры, объекты доступа к данным
Сессионные

(во время сессии пользователя)
Информация о текущем пользователе, состояние wizard’а, интерфейсных элементов
Временные (во время обработки действия пользователя)
Объекты, выгруженные из БД для обработки текущего запроса (доменная модель)

Слайд 4Singleton
Долгоживущие объекты – Singleton-ы
Реализация getInstance()
Проблемы: повторение кода, проблема порядка инициализации, замена

mock-объектами при модульном тестировании
Реализация: реестр синглетонов
Один синглетон, который управляет остальными

Слайд 5Пример конфигурации Spring


Слайд 6Пример использования Spring


Слайд 7Inversion Of Control
Представляет собой реестр (контейнер) объектов, которыми управляет
Позволяет декларативно конфигурировать

объекты и их свойства
Сам код классов может не зависеть от IoC фреймворка. IoC контейнер является “клеем”
Берет на себя
Управление жизненным циклом объекта (когда и кем создается, когда удаляется)
Управление зависимостями (объект лишь говорит что ему нужно)


Слайд 8Пример конфигурации на аннотациях


Слайд 9Дополнительные преимущества IoC
Возможность прозрачно использовать паттерны семейства Factory в IoC (сам

код, использующий объекты не знает о фабриках)
Сильно снижает степень зависимости между классами, => легко тестируемые классы
Хорошо накладывается на принципы AOP.


Слайд 10Реализации
Spring Framework (OpenSource, Java)
Spring.NET (OpenSource)
Castle (OpenSource, .NET)
Unity (Microsoft, .NET)
Google Juice (OpenSource,

Java)
EJB 3+ (Java, JSR Standard)

Слайд 11Литература
Spring reference
Spring In Action / Manning


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика