Я бы также посмотрел на возможность того, что они расходятся визуально.Если есть даже малейший шанс, что B может потребоваться добавить что-то другое, что в конечном итоге приведет к изменению макета, тогда используйте отдельные представления и позвольте контроллеру содержать логику.
Кроме того, это позволяет вам в какой-то момент поместить этот логический тест в модульный тест.Внедрение логики в контроллер также помогает гарантировать, что в случае изменения уровня данных, которое может нарушить эту проверку состояния, при сбое сборки.Если вы поместите эту логику в представление, вы не получите эту защитную сетку, и вы получите ошибки времени выполнения после их выпуска вместо приятной ошибки разработки, которую легко исправить.