Здравствуйте, gl#b, Вы писали:
GB>ASP.NET — это компонентно ориентированная технология, следовательно гораздо больше пространства для маневра, легко разбить страницы на части типа меню, футер, хедер и т.д.
GB>XSLT в этом плане плоско выглядит.
Есть
сайт нашего факультета. Сделан из чистого энтузиазма (не смотрите, что у него доменный адрес 2 уровня — это уже после раскрутки

произошло), причем полностью на XSL. При этом такой модульности, какая получилась у его разработчика, можно только позавидовать.
Здравствуйте, expert, Вы писали:
E> В самом начале мы посмотрели на ASP.NET и поняли, что это — самое худшее из того что есть в .NET. Такое впечатление, что проектировали его те же люди, что и старый VisualBasic.
E> Все конечно работает, но они поднялись на слишком высокий уровень абстракции, который не позволяет необходимой в реальной жизни гибкости.
Не знаю как насчет гибкости, а вот юзабилити у Web Controls на мой взгляд не хватает.
Если рассмартивать Web Controls как фрейморк для разработки интерактивных Web компонентов то здесь явно не хватает поддержки паттерна Model-View-Controller. Контроллер просто никак не представлен. А именно этот паттерн позволяет грамотно отделить данные от представления, представление от операций, операции от данных.
И это при имеющйся реализации Apachy Struts для J2EE.
Реализация Repeater тоже вызывает нарекания, особенно по части обработки сообщений от контролов расположенных в репитере, а также создание вариантной разметки в зависимости от текущей строки.
E>Простой пример — в разработке одного коммерческого приложения на чистом ASP.NET потребовалось делать редизайн 3 раза. Отсутвуие шаблонов как таковых и объединение дизайна и фукционала в ASPX привело к увеличению работы в разы.
Здесь я согласен, что если использовать только ASPX, то потом будут проблемы с редизайном. Нужно над ASPX сделать надстройку, и вот тут объектная ориентированность ASPX позволит сделать надстройку как естественное расширение Web Controls, используя для этого наследование, полиморфизм и прочие атрибуты OOP.
В этом смысле ASPX достаточно гибкая, хоть и не очень удобная штука.
E>В результате мы пошли по другому пути. Мы разработали собственные библиотеки классов для:
Вот вот, и мы тоже стали разрабатывать свои библиотеки, только без использования XSLT.
Правда у нас была другая задача — написание по возможности эргономичного веб интерфейса причем только для IE5.5 и выше.
А раз так то можно свободно использовать такие вещи как iframe, DHTML, JScript... и не заботиться о совместимости.
В итоге получился фреймворк в котором десктопообразные веб приложения собираются из готовых ASP.NET компонентов.
Пример можно посмотреть
http://home.htc-cs.com/LCC/Default.aspx Login: 1, Пароль: 1
E>Затраты на создание всего этого довольно велики (около 4 человеко-месяцев), но мы это сделали в бюджете одного проекта и теперь успешно реюзаем в большинстве новых проектов.
Да, задачка не из простых.
... << RSDN@Home 1.0 beta 6a >>
M>Хотя на самом деле мне больше интересует не локальные решения, а идеология и организация приложения. Хотя, как я понял, у вас задача попроще, чем у меня. Дело в том, что то, что я делаю приложение, которое работает в реальном времени — терминал работы с банковской машиной сортировки денег.
Хм. Для работы в реальном времени .NET и web врядли подходят.
M>Как я понял, это сделано, чтобы заткнуть Warning. На самом деле можно было указывать не переменную, а просто тип
E>> catch (Exception)
E>> {
E>> }
M>Тогда получается логичнее.
Не знал
M>Далее, какой смысл в двойном SessionObjects PL.SessionObjects.SessionObjects.getUserID()?
Нет никакого. Просто в namespace SessionObjects есть класс SessionObjects.
M>Перерендеривается ли у вас форма после каждого непринятого сабмита или меняются только значения в полях?
Уточни вопрос — не понял.
M>И еще, у меня все источники данных (селекты из базы, файлы в разных форматах) забираются по имени через единый класс — диспетчер в виде XML. Имена и источники прописаны в конфиге. У вас — так же, или по-другому?
У нас они забираются по типу классу (см typeof(DbObjects.PublicUser)) в моем примере). Но это только для базы.
E>>http://www.icago.com/
M>Сайт выглядит очень профессинально, но вам не кажется, что ему немного не хватает единства решений?
M>Только на первой странице я насчитал 6 способов выделения ссылки при наведении — и еще одну нв второй странице.
Спасибо за замечания, эту версию сайта выложили буквально на прошлой неделе.
Здравствуйте, expert, Вы писали:
E> [XMLNode("Form")]
E> public class ExportCartForm : BaseForm
E> {
E> [XMLNode("ExportCart")]
E> public ExportCart cart = null;
E> [XMLNode("Email")]
E> [FormParam("Email", Storage = FormParamStorage.HTTP)]
E> [EmailFieldValidator()]
E> public string Email;
Извини но не мог бы ты кинуть в меня чем нибуть побольше

(vvsprog@mail.ru)
в особенности реализация аттрибута XMLNode (ну и FormParam с привязкой валидаторов

).
если не жалко.
Очень интересная идея.
Заранее благодарен.С меня пиво