
Лекции Java / 07. Компонентная модель в объектно-ориентированном программировании. Технология JavaBeans. Вложенные типы.pptx
.pdf
Самарский государственный аэрокосмический университет имени академика С.П. Королёва
Лекция 7.1
Компонентная модель в объектно-ориентированном
программировании
Технология JavaBeans
© Составление, Гаврилов А.В., Попов С.Б. 2013
Самара
2013

План лекции
nКомпонентный подход
nJavaBeans
nСвойства компонентов
nГрафические компоненты
nСобытия и их обработка
nПерсистентность
nУпаковка компонентов
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
2 |

Объектный подход |
vs |
Компонентный подход |
|
nОбъектный подход
Программа пишется как объектная модель реальной или воображаемой системы, объекты и их отношения легко понятны
nКомпонентный подход
Программа собирается из заранее созданных компонентов, которые могут быть достаточно сложны для понимания
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
3 |

Понятие компонента
nКомпонент – это элемент системы, представляющий определенную службу или сущность, допускающий взаимодействие с другими компонентами
nОсобенности компонентов:
•Многоразовое использование
•Независимость от контекста
•Кооперация с другими компонентами
•Инкапсуляция
•Самостоятельность как единицы программы
nКомпонент – объект, написанный в соответствии со спецификацией
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
4 |

Требования к разработке компонентов
nПолная документация
nБолее строгое тестирование
nНадежная проверка достоверности входных данных
nВозврат полезных сообщений об ошибках
nРазработка с учетом непредусмотренного использования
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
5 |

Контейнеры и компоненты
nКонтейнер предоставляет контекст, в котором компоненты могут существовать и действовать совместно
nКонтейнер тоже может быть компонентом
nЭто полностью рекурсивно!
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
6 |

Существующие компонентные модели
nJavaBeans
nEnterprise JavaBeans
n.Net Framework Components
nActiveX
nCOM
nDCOM
nCORBA
nVLC & CLX
n…
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
7 |

JavaBeans
nКомпонентная модель для языка Java
nКомпоненты называются Beans (бины)
nКомпонент описывается как класс, удовлетворяющий определенным правилам
nСледует различать компонент как класс компонента и компоненты как его экземпляры, использующиеся в программе
nДля работы с компонентами используются специальные программные средства, позволяющие «визуально» настраивать компонент и его взаимодействие с другими компонентами (RAD-tools)
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
8 |

Интроспекция
nСредства работы с бинами подвергают бины интроспекции
nИнтроспекция – механизм, основанный на рефлексии, позволяющий определить характеристики компонента, основываясь на информации, заключенной в именах элементов класса компонента и вспомогательных классах
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
9 |

Компоненты JavaBeans
nКомпонент имеет свойства, которые представляют собой характеристики компонента и могут быть изменены в процессе сборки
nКомпонент использует события для взаимодействия с другими компонентами
nКомпоненты обладают свойством персистентности: могут сохранять свое состояние в долговременное хранилище и затем восстанавливать его
nМетоды компонентов являются обычными методами Java и могут использоваться другими компонентами
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
10 |