Применение шаблона Controller
Шаблон Controller позволяет, централизовано обрабатывать системные события, возникающие в приложении. При использовании этого шаблона интерфейс приложения посылает сообщения классам слоя бизнес-логики через класс Contoller. Использование этого шаблона подразумевает создание одного или нескольких классов, которые обрабатывают системные события. Под системными событиями подразумевается функциональные действия пользователей.
Согласно шаблону Создатель класс TController должен создавать и уничтожать объекты слоя бизнес-логики. Поэтому необходимо в этом классе создать поля представленные в таблице 7.1.
Таблица 7.1
Поля класса TController
Название | Описание |
fStudents: TStudents | Класс по работе со студентами |
fBooks: TBook; | Класс по работе с книгами |
fStudentBook: TStudentBook | Класс, выдающий и забирающий книги у студентов |
Эти классы имеют высокое зацепление согласно шаблону High Cohesion поскольку каждый класс работает только с одним объектом в БД.
Для обработки входных системных событий необходимо создать методы, каждый из которых будет обрабатывать только одно системное событие (см. Таблица 7.2).
Таблица 7.2
Методы класса TController
Название | Описание |
AddStudent (num: integer; family,name,secondname,group: string) | Метод добавляет студента |
AddBook (Author,Name: string) | Метод добавляет книгу |
AddStudentBook | Метод выдает книгу студенту |
UpdateStudent (num: integer; family,name,secondname,group: string) | Метод изменяет выбранного студента |
UpdateBook (Author,Name: string) | Метод изменяет выбранную книгу |
DeleteStudent | Метод удаляет выбранного студента |
DeleteBook | Метод удаляет выбранную книгу |
DeleteStudentBook | Метод возвращает книгу от студента |
StudentParams: tParams | Функция возвращает параметры текущего студента |
BookParams: tParams | Функция возвращает параметры текущей книги |
GroupList: TStringList | Функция возвращает список групп студентов |
StudentsAfterScroll(DataSet: TDataSet) | Событие происходящее при перемещении по набору данных отображающих студентов |
Для обеспечения отображения данных необходимо создать свойства возвращающие ссылки на источники наборов данных (Таблица 7.3).
Таблица 7.3
Свойства TController
Название | Описание |
StudentDataSource: TDataSource | Источник данных набора отображающих студентов |
BookDataSource: TDataSource | Источник данных набора отображающих книги |
StudentBookDataSource: TDataSource | Источник данных отображающий выданные книги |
В результате диаграмма класса примет следующий вид (см. Рисунок 7.2).
Рисунок 7.2 – Диаграмма классов слоя бизнес-логики
Задание
Нужно разработать приложение в Borland Developer Studio в соответствии с тематикой курсового проекта по предмету «Технологи разработки программного обеспечения». Приложение должно работать с реляционной СУБД, например FireBird, а его архитектура соответствовать трехслойной архитектуре на базе объектно-реляционного отображения с не типизированными объектами. При разработке приложения необходимо применить шаблоны проектирования.
6.7. Контрольные вопросы
1) Понятие шаблон проектирования.
2) Структура шаблона проектирования.
3) Разработка классов на основе шаблонов проектирования.
4) Шаблон проектирования Information Expert.
5) Шаблон проектирования Creator.
6) Шаблон проектирования Low Coupling.
7) Шаблон проектирования High Cohesion.
8) Шаблон проектирования Controller.
9) Чем отличается архитектура с типизированными объектами от архитектуры с не типизированными объектами?
Дата добавления: 2021-12-14; просмотров: 320;