Только из моего опыта
Основным недостатком может быть рефакторинг в будущем, если представления расходятся в том, что они отображают. Вам нужно подумать о том, насколько вероятно это, когда вы принимаете решение поделиться мнением.
Также будьте осторожны с именами моделей представлений. Например, если у вас есть представления Book / Edit.aspx и Book / Add.aspx, вы не хотели бы AddBookViewModel.cs
используется в книге / Edit.aspx. Это может создать некоторый запутанный код в ваших тестах, например.
В приведенном выше примере я бы обычно использовал CreateEditBookViewModel.cs
Если вы посмотрите на подобные SharpArchitecture (www.sharparchitecture.net/), я полагаю, что они используют этот подход в своих скаффолдингах, а также разделяют элементы представлений, используя общие модели представлений через партиалы.
С точки зрения того, что это анти-паттерн, я бы сказал нет; просто здоровое повторное использование кода.