- •Java Beans
- •План лекции
- •Объектный подход
- •Понятие компонента
- •Требования к разработке компонентов
- •Контейнеры и компоненты
- •Существующие компонентные модели
- •JavaBeans
- •Интроспекция
- •Компоненты JavaBeans
- •Достоинства JavaBeans
- •Требования к компоненту JavaBeans
- •Удивительное рядом
- •Свойства
- •Простые свойства
- •Бин с простым свойством
- •Работа с простыми свойствами
- •Индексированные свойства
- •Бин с индексированным свойством
- •Работа с индексированными свойствами
- •Связанные свойства
- •Бин со связанным свойством
- •Бин со связанным свойством
- •Работа со связанными свойствами
- •Контролируемые свойства
- •Бин с контролируемым свойством
- •Бин с контролируемым свойством
- •VetoChangeListener
- •Графические компоненты
- •Графический бин
- •Графический бин
- •Работа с графическим бином
- •Модель делегирования обработки событий
- •Модель делегирования обработки событий
- •Слушатели и источники
- •События JavaBeans
- •Работа с событиями
- •Работа с событиями
- •Работа с событиями
- •Работа с событиями
- •Результат работы приложения
- •Персистентнось
- •Упаковка в Jar
- •Добавление библиотек в палитру
- •Вложенные типы
- •План лекции
- •Синтаксически корректный код
- •Вложенные типы
- •Статические вложенные классы
- •Вложенные интерфейсы
- •Нестатические вложенные классы
- •Пример внутреннего класса
- •И ещё один пример
- •И его результат…
- •Локальные классы
- •Локальные классы
- •Анонимные классы
- •Пример анонимного класса
- •Спасибо за внимание!
- •Дополнительные источники
Java Beans
© Составление, Будаев Д.С., Гаврилов А.В., Попов С.Б., 2013
Лекция 9.1
УНЦ «Инфоком» Самара
2013
План лекции
Компонентный подход в программировании
Технология JavaBeans
Свойства компонентов JavaBeans
Графические компоненты JavaBeans
События компонентов JavaBeans
2
Объектный подход |
vs |
Компонентный подход |
|
Объектный подход
Программа пишется как объектная модель реальной или воображаемой системы, объекты и их отношения легко понятны
Компонентный подход
Программа собирается из заранее созданных компонентов, каковые могут быть достаточно сложны для понимания
3
Понятие компонента
Компонент – это элемент системы, представляющий определенную службу или сущность, допускающий взаимодействие с другими компонентами
Особенности компонентов:
Многоразовое использование
Независимость от контекста
Кооперация с другими компонентами
Инкапсуляция
Самостоятельность как единицы программы
Компонент – объект, написанный в соответствии со спецификацией
4
Требования к разработке компонентов
Полная документация
Более строгое тестирование
Надежная проверка достоверности входных данных
Возврат полезных сообщений об ошибках
Разработка с учетом непредусмотренного использования
5
Контейнеры и компоненты
Контейнер предоставляет контекст, в котором компоненты могут существовать и действовать совместно
Контейнер тоже может быть компонентом
Это полностью рекурсивно!
6
Существующие компонентные модели
JavaBeans
Enterprise JavaBeans
.Net Framework Components
ActiveX
COM
DCOM
CORBA
VLC & CLX
…
7
JavaBeans
Компонентная модель для языка Java
Компоненты называются Beans (бины)
Компонент описывается как класс, удовлетворяющий определенным правилам
Следует различать компонент как класс компонента и компоненты как его экземпляры, использующиеся в программе
Для работы с компонентами используются специальные программные средства, позволяющие «визуально» настраивать компонент и его взаимодействие с другими компонентами (RAD- tools)
8
Интроспекция
Средства работы с бинами подвергают бины интроспекции
Интроспекция – механизм, основанный на рефлексии, позволяющий определить характеристики компонента, основываясь на информации, заключенной в именах элементов класса компонента и вспомогательных классах
9
Компоненты JavaBeans
Компонент имеет свойства, которые представляют собой характеристики компонента и могут быть изменены в процессе сборки
Компонент использует события для взаимодействия с другими компонентами
Компоненты обладают свойством персистентности: могут сохранять свое состояние в долговременное хранилище и затем восстанавливать его
Методы компонентов являются обычными методами Java и могут использоваться другими компонентами
10