Неверно понятое ограничение одной точкой, чтобы получить нужное, весьма ограничивает объектно-ориентированное мышление.
book.textOfNumPage() //кажется верным
и
book.page().text() //кажется не верным
Действительно, глупо перебирать столько сущностей чтобы добраться до нужного: "Шарик. Собака. Ко мне. Передвигай лапы"
Ха, но это только, пока у нас маленькая программа. В той же книге находится, например, и оглавление для удобства чтения. Есть еще и закладка, может и несколько закладок. Хм, давайте добавим еще и возможность сохранять свои пометки к тексту (на полях страниц). К как на счет рейтинга и отзыва к книге? А издательские данные - ведь тоже интересны и могут потребоваться... и т.д., и т.п. Количество кода в одном классе становится все больше, и объект весьма раздувается.
В то же время, когда выстраивается туннель декораторов, а именно об этом и идет речь, то цепочка методов кажется очень логичной. Ведь каждый из декораторов существенно мал и просо добавляет к исходному объекту определенное свойство.
Комментариев нет:
Отправить комментарий