logo search
Учебное пособие по циклу лабораторных работ Технологии разработки программного обеспечения

Применение шаблонаInformationExpert

Шаблон информационный эксперт отвечает на вопрос, какой класс должен отвечать за ту или иную функциональность. Ответом на этот вопрос является то, что класс должен отвечать за ту или иную функциональность, в случае если у него есть достаточно данных для решения задач функциональности.

В примере из лабораторной работы №6 у нас есть два объекта взаимодействующих между собой это Студенты и Книги. Очевидно, что у них есть определенная функциональность, эти объекты должны уметь хранить данные о себе, создаваться, изменяться и удаляться. Согласно шаблону InformationExpertмы создаем эти классы (TSudents,TBook) и определяем эту функциональность. Теперь возьмем процесс выдачи книг и возврата их от студентов. Нам необходимо отображать список книг выданных студенту, если мы добавим эту функциональность классуTStudentsили классуTBookто тогда мы их нагрузим лишними функциями. Оптимальным решением данной проблемы является созданием нового классаTStudentBook, в функциональность которого входит эти функции.