З прагматичної точки зору я виявив, що ви або закінчуєтесь з логікою в контролері, або з поведінкою контролера у вашій моделі, коли намагаєтесь зробити щось, для чого не підходить відповідний шаблону підхід. Удвічі так, якщо ви пишете додаток, який не має великої інфраструктури.
Ви можете піти в будь-який бік, але я зазвичай намагаюся подумати, чи дивний біт, ймовірно, відображатиметься в більш ніж одній дії контролера, якщо це так і в моделі. Якщо це незрозуміло, я намагаюся подумати, чи більше воно «підходить» в одне місце, ніж в інше. Якщо я зазвичай не розміщую його в моделі просто для того, щоб не мати контролера (особисті переваги менших контролерів і більш сильних об'єктів даних, YMMV)
Третім варіантом буде посилання на елементи корисності як окремий клас корисності, але це дещо суперечить зразкам, як на думку багатьох.
Крім того, тільки тому, що ви не суворо дотримуєтесь такої схеми, ви не обов'язково заграєте з катастрофою. Якщо ви дійсно не очікуєте значної кількості повторного використання коду від цього проекту, я б потурбувався набагато більше за те, щоб проект був узгоджений із собою (тобто: не перекладайте туди, куди ви кладете ці біти, як тільки ви виберете місцеположення) ніж переписати, що чомусь хоче зберегти частину середини проекту. Документуйте / коментуйте, де і чому ви відхилилися від загальної моделі та визначте очікувану схему для цієї програми.
MVC було відхиленням від встановлених самих моделей в одній точці.