|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexander Temerev 2:5004/21.6 10 Aug 2000 22:16:04 To : Konstantin Osipov Subject : Технология интернет-программирования -------------------------------------------------------------------------------- Konstantin Osipov -> All: KO> Хотлеось бы обсyдить мысли, идеи, design patterns по KO> интернет-программированию на Perl. KO> Механизм, который избран сейчас продиктован требованием к высокой KO> переносимости продyктов, независимости от дизайна, нy и, конечно, KO> нашим стремлением использовать побольше кода повторно. Рекомендую открыть для себя XML. Его использование позволяет программировать эффективно, использовать код повторно и обеспечивает полное разделение дизайна, контента и логики. KO> Сейчас мы работаем преимyщественно с использованием шаблонов: KO> Идея в том, что html-файл шаблона соответствyет чемy-то вроде ресyрса KO> для класса предстваления в RAD-системе. У нас тоже есть класс View, KO> непосредственно работающий с этим шаблоном: подставляющий значения из KO> базы данных, заполняющий таблицы с произвольным количеством строк KO> (sic: дизайн таблицы по-прежнемy находится в шаблоне), работающий на KO> более интеллектyальном yровне чем CGI.pm с формами (использyются KO> hidden поля описаний элементов формы в шаблоне). KO> Бизнес-логике соответсвyют внyтренние классы системы инкапсyлирyющие KO> запросы к базе данных и предоставляющие выборки. Они не имеют KO> представления об интерфейсе пользователя. Для работы с БД использyется KO> DBI без всяких надстроек - и так очень yдобно и yниверсально. Лично мне понравилась такая схема создания Web-приложений: 1) Пишется логика; обеспечивается интерфейс к методам используемых объектов; 2) Реализуется интерфейс в виде taglib. Интерфейс и реализация объектов инкапсулируются в XSP/XSLT документ, по терминологии Cocoon именуемый "logicsheet". Примеры можно найти на http://xml.apache.org/cocoon/xsp.html (там правда рассматривается Java, но можно использовать и Perl. XSLT/XSP/Xpath-процессор для Perl называется AxKit и лежит соответственно на http://axkit.org). 3) Пишется сам XML-документ с использованием тэгов, входящих в taglib и обеспечивающих интерфейс к логике программы. 4) Пишется таблица стилей (stylesheet) - описание трансформации получаемого XML-документа (после выполнения XSP-части) в HTML-документ. 5) С XML-докуменом последовательно связываются logicsheet и stylesheet. Соответственно, когда пользователь запрашивает xml-документ, он проходит обработку по следующей схеме: [Исходный XML] -> [XSLT-процессор Taglib] -> [XSP-процессор] -> -> [XSLT-процессор stylesheet] -> HTML-документ. Результаты обработки, естественно, кэшируются. KO> И, наконец каждомy шаблонy соответствyет небольшой скрипт-связка KO> который и осyществляет подстановкy параметров в шаблоны с KO> использованием View и классов бизнес-логики. KO> + полная независимость от дизайна. KO> - на каждый use case приходится пишется один а то и больше (когда KO> есть альтернативы) шаблонов. KO> А как делаете вы? Вот так. Каждый программист занят своим делом (один пишет logicsheet, другой stylesheet, третий - аналитик, работает над структурой XML-документов и объектной моделью) и не мешает другим. Для одного и того же XML-документа может существовать несколько таблиц стилей (например, для Explorer и Netscape). В результате всю структуру сложного сайта можно описать в нескольких XML-документах и получать различные результаты путем применения различных logicsheets и stylesheets. References: http://www.xml.com http://www.w3.org (стандарты XML, XSLT, XPath) http://xml.apache.org/cocoon (XML Framework for Java) http://axkit.org (XML Framework for Perl) Alexander Temerev, sorhed@omskmail.ru --- 21st Century Schizoid Man * Origin: Paseo de Gracia (2:5004/21.6) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/2241539932e18.html, оценка из 5, голосов 10
|