kievkao, Для небольших проектов подход вполне уместен.
Чем больше проект и выше повторная применимость компонентов, то конечно же, нарушение основного шаблона проектирования в данном случае может привести к образованию множественного дублирования кода.
Затем может появится спагетти код. К примеру если кто-то сделает кнопку в ячейке, и по нажатию этой кнопки будет у вашего human голову менять.
Но если проект небольшой и по типу написал-и-забыл – это вполне удобное решение.
P.S. Лично я не люблю такой подход, а предпочитаю интерфейс делать подобный UITableViewCell.
Без инкапсуляции данных модели. Ибо повторная применимость это очень и очень хорошо.
P.P.S Есть еще подход работать на уровне интерфейсов и предоставлять не объект типа human, а объект типа id<Protocol>.
Это уже лучше. Соблюдается контракт между моделью, реализующей интерфейс и отображением, которое отрисовывает визуальное представление этого интерфейса.
1
|