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

Использование шаблонаHighCohesion

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

В качестве примера возьмем процесс выдачи книг и возврата их от студентов. Нам необходимо:

Если мы добавим эту функциональность классу TStudentsили классуTBookто тогда мы их нагрузим лишними функциями. Поскольку эти классы могут существовать без этого процесса. Например, есть книги, которые не выдают студентам, и есть студенты, которые не берут книги в библиотеке. Оптимальным решением данной проблемы является созданием нового класса, в функциональность которого входит эти функции. Создадим новый классTStudentBook, в функциональность которого будет входить реализация этих функций. Данные необходимые для процесса выдачи или возврата книг нужно брать у классовTStudentsиTBook. Таким образом, у нас появилось три класса, каждый из которых нагружен только ему присущей функциональностью.