Ревью 2 теория. Инструкция по созданию бизнесобъектов. Strategy это поведенческий паттерн, выносит набор алгоритмов в собственные классы и делает их взаимозаменимыми
Скачать 0.74 Mb.
|
9.2. Из чего состоит?Spring может быть рассмотрен как коллекция меньших фреймворков или фреймворков во фреймворке. Большинство этих фреймворков может работать независимо друг от друга, однако они обеспечивают большую функциональность при совместном их использовании. Эти фреймворки делятся на структурные элементы типовых комплексных приложений: 1. Inversion of Control-контейнер – делегированное (фреймворку) конфигурирование компонентов приложений и управление жизненным циклом Java-объектов; 2. Фреймворк аспектно-ориентированного программирования – работает с функциональностью, которая не может быть реализована возможностями объектно-ориентированного программирования на Java без потерь. АОП нужно, чтобы облегчить поддержку сквозной функциональности. Эта парадигма позволяет описать ее отдельно и выделить в самостоятельную сущность. Но методы, которые при этом используются, лежат за пределами ООП и потому требуют отдельной реализации. В Spring за эту реализацию отвечает соответствующий модуль; 3. Фреймворк доступа к данным – работает с системами управления реляционными базами данных на Java-платформе, используя JDBC- и ORM-средства и обеспечивая решения задач, которые повторяются в большом числе Java-based environments. Эта часть фреймворка отвечает за взаимодействие с СУБД — системами управления базами данных. С помощью модуля Spring можно «связать» логику на Java с управлением базой, настроить доступ к ней разных частей кода. Например, если в приложении выполнится скрипт, которому потребуется информация из базы данных, он сможет к ней обратиться. Задача Spring — в организации грамотного и безопасного доступа. 4. Фреймворк управления транзакциями – координация различных API управления транзакциями и инструментарий настраиваемого управления транзакциями для объектов Java. Транзакция — это последовательность запросов к базе данных, собранная в единый блок. Spring позволяет управлять транзакциями и координировать их, чтобы работа была прозрачной и безопасной. Функциональность фреймворка включает в себя возможность работать с локальными, глобальными и вложенными транзакциями, использовать для них точки сохранения и многое другое. Он поддерживает и абстракции — они нужны для некоторых форматов данных в базе. 5. Фреймворк MVC – каркас, основанный на HTTP и сервлетах, предоставляющий множество возможностей для расширения и настройки (customization). Model View Controller — это популярная схема приложения, при которой оно как бы разделяется на три основных части: модель данных, отображение и контроллер. Модель представляет собой данные, с которыми работает приложение, отображение отвечает за интерфейс и общение с пользователем, а контроллер — это логика изменения модели в ответ на действия пользователя. Чаще всего схему используют для веб-приложений. В Spring есть собственная функциональность для реализации MVC. Изначально разработчики ее не планировали, но добавили, когда оказалось, что альтернативные реализации не очень хорошо решают поставленные задачи. Особенности модуля MVC для Spring — прозрачное и четкое разделение между слоями, возможность быстро заменить один интерфейс на другой, привязка функциональности к конкретному интерфейсу. При создании приложений по схеме MVC можно пользоваться не только одноименным модулем, но и другими инструментами Spring. 6. Фреймворк удаленного доступа - конфигурируемая передача Java-объектов через сеть в стиле RPC, поддерживающая RMI, CORBA, HTTP-based протоколы, включая web-сервисы (SOAP); 7. Фреймворк аутентификации и авторизации – конфигурируемый инструментарий процессов аутентификации и авторизации, поддерживающий много популярных и ставших индустриальными стандартами протоколов, инструментов, практик через дочерний проект Spring Security (ранее известный как Acegi). В нем собраны инструменты, отвечающие за авторизацию и аутентификацию пользователя в системе. В коммерческой разработке в этой области сейчас огромное количество возможных решений, и Spring позволяет работать с большинством современных протоколов и процессов. Этот модуль тесно связан с другой разработкой — Spring Security, отдельным фреймворком на базе Spring. Он позволяет создавать сложные механизмы аутентификации и авторизации, рассчитанные в том числе на масштабные корпоративные Spring-проекты. Spring Security официально включен в Spring как дочерняя разработка. 8. Фреймворк удаленного управления – конфигурируемое представление и управление Java-объектами для локальной или удаленной конфигурации с помощью JMX. Java Management Extensions (JMX) – технология Java, предназначенная для контроля и управления приложениями, системными объектами, устройствами (например, принтерами) и компьютерными сетями. Данные ресурсы представляются MBean-объектами (Managed Bean, управляемый Java Bean). Для разработки приложений, использующих данную технологию, может применяться Java Dynamic Management Kit; 9. Фреймворк работы с сообщениями – конфигурируемая регистрация объектов-слушателей сообщений для прозрачной обработки сообщений из очереди сообщений с помощью JMS, улучшенная отправка сообщений по стандарту JMS API; 10. Тестирование – каркас, поддерживающий классы для написания модульных и интеграционных тестов. Дочерние фреймворки: Spring Roo — фреймворк для быстрого создания бизнес-приложений. Он связан со Spring и частично пользуется его возможностями, но задача у него другая, более специфическая. Он реализует подход «соглашение прежде конфигурации», или CoC (Convention over Configuration). Это означает, что фреймворк включает ряд соглашений по структуре проекта, и они превыше конкретных конфигурационных решений. Подход нужен, чтобы быстро создавать типовые приложения и не заботиться о разработке уникальных соглашений; Spring Integration — фреймворк для интеграции разных корпоративных приложений в единую сеть. Он позволяет обмениваться сообщениями, маршрутизировать потоки данных, активировать сервисы, интегрироваться с различными технологиями и строить архитектуру сети. Это бывает нужно, например, на больших предприятиях. |