Хм ... С первого взгляда это выглядит странно, и как-то похоже на фрактал - мы ломаем на MVC один из наших MVC - C.
Но почему это приложение дает такие разные результаты,основанный на точке входа (или устройстве)?
Задача контроллера - только получить данные и выбрать представление - зачем нам нужна отдельная логика для выбора чего-либо на основе точкизапись (устройство)?
Я думаю, что на эти вопросы нужно ответить в первую очередь.Где-то может быть какая-то проблема.
Кроме того, контроллер должен выбирать в идеале только одно представление и не делать «кодирование» или что-либо еще с данными, основанными на текущем выводе.Я думаю, что все это должно быть в каких-то «раскладках» или в другом месте.Поскольку данные всегда одинаковы и даже разные представления должны быть одинаковыми - меняются только некоторые аспекты.