Я работаю над большим сайтом ASP.NET MVC, коммерческим сервисом, который продается клиентам. Мы продаем в основном мелким и крупным учреждениям, поэтому не в термоусадочной упаковке. Эти крупные клиенты будут просить нас сделать настройки, в основном более широкие, чем, в том числе, настройку макета в соответствии с их сайтом.
В настоящее время мы думаем, что даже после того, как MVC доведет до своего естественного завершения очень простые контроллеры, которые вызывают только другой код (как рекомендовано), представления будут сложной проблемой, потому что они плохо поддаются такому виду. в любом случае не с Razor, как мы использовали. Их трудно разделить на подклассы и сказать «для этого клиента сделайте что-то немного больше»; в частности, трудно подать немного другой HTML для одной и той же конструкции.
Мы не можем придумать, как правильно работать с несколькими и с одним владельцем, и мы не хотим разбирать кодовую базу, даже если настройки для одного или нескольких клиентов являются тщательными. (По мере возможности мы хотим, чтобы структура базы данных была изоморфной для всех наших клиентов, что, как я полагаю, является способом, которым мы сделали бы это для мультитенантности, но каждый арендатор должен быть своим собственным веб-сайтом IIS из-за масштаба и изоляция.) Даже если бы мы придумали способ наложения слоя пользовательских представлений, это дало бы возможность небольших несоответствий логики в представлениях.
Каково современное состояние дел в этом? Какие военные истории? (Это может быть субъективно, но в основном это объективно в том смысле, что если есть шаблон или подход, который полностью сокращает это до сути, конечно, это правильный ответ. И я думаю, что это интересный вопрос.)
Я рад предоставить более подробную информацию.