В ходе разработки одного веб-проекта (делали прототип
портала на технологии ASP.NET 2.0) столкнулся с
проблемой создания полностью «динамической»aspx-страницы, «динамической» в плане, что страница
представляет собой отдельный класс в сборке, без визуальной части в виде *.aspx-файла.
Такой подход удобен, когда нужно генерировать страницу с
разнородным cодержимым,
меняя в зависимости от условий коллекцию компонентов и(или) страницу-шаблон (MasterPage) . Например, мы
дублировали логику работы с веб-частями аналогично SharePoint Portal Server + добавляли свои
доработки в области прав, шаблонов наполнений страниц и другие функции.
На этапе активной разработки я столкнулся с «информационным
вакуумом» - складывается впечатление, что почти никто не пытался писать
веб-приложения таким образом. Еще один факт – все примеры использования
сторонних веб-компонентов приводились с использованием *.aspx-файла. Однако при попытке создания
их через CreateChildControls возникали проблемы, которые решались
только эмпирическим путем – они нигде не были описаны!
Встает вопрос – имеет
ли право на существование такой способ программирования, или это все же
нестандартный подход для прототипов и его нельзя использовать в коммерческих
разработках?
Аргумент в пользу права на жизнь такого подхода могу
привести такой, что в ASP.NET 2.0 появилась возможность
опубликовать веб-сайт вообще без
всяких *aspx-файлов
(они пустые, и их можно смело удалять). Кроме того код в бинарном виде взламывать
сложней (пусть даже и для .NET существуют удобные
средства восстановления исходного кода), чем голый «текст» *.aspx-файла.
Ваши мнения?