Задача группы проектировщиков — создать иллюзию простоты.
Буч Г.
Какие сущности вы видите сейчас в коде? В предыдущей главе мы попытались разграничить код с помощью функций. Но это не дает нам достаточно точного описания объектов, с которыми мы работаем. Из-за этого мы не всегда можем понять четкой обязанности той части кода, с которой работаем.
В том маленьком примере, который мы сейчас используем, я бы не стал делать что-то ещё. Но нам нужно, во-первых, оправдать потребность в ООП, во-вторых, придумать такую задачу, которая задала бы вектор направления.
Начну с Анекдота:
“Заходит заказчик в бар и не знает, что выпить.”
Продолжу тем, что к вам подошёл заказчик (и вы не бармен) и просит сделать изменения в программе следующего порядка:
- Добавить новую команду, которая выводит список всех доступных команд;
- Сделать команду перехода в административный режим. После перехода в режим администратора все покупки становятся бесплатными.
Это могло бы стать вашей задачей. Но тогда вы могли бы накидать дополнительных методов и всё в вашей жизни было радужно. Но нет.