Автор оригинала: bbv
Абсолютного разделения логики представления от бизнес логики невозможно достигнуть - в любом случаи будет существовать уровень на котором происходит соединение этих двух логик - он то и будет зависим от них. Этот уровень является всем известным процессом подключения шаблонов и инициализаций данных для них.
Поэтому, если представление меняется в корне, в нашем случаи необходимо реализовать вывод wml, то необходимо редактировать соединительный уровень - иными словами создавать интерфейс, через который будут взаимодействовать бизнес и представительный уровень. Эта задача выполняется совместно с дизайнером и программистом.
Не совсем согласен. Да, работа программиста может потребоваться, но в очень незначительных количествах и только для того, что бы учесть какие-нибудь особенности самого протокола вмл, которые не учитываются в html. Например, кодировка русских букв, отправляемые заголовки, разрезание больших страниц на несколько маленьких. Последнее, вероятно, самое сложное, с чем может столкнуться программист. Если больше ничего менять не нужно, то можете считать, что разделение логик произошло успешно. Если программисту потребуется изменить что-то еще, то Вашу модель нужно пересмотреть.
-~{}~ 26.06.05 15:50:
По поводу деревьев. У меня на сайте реализовано два способа представления деревьев: динамически подгружаемые, (например здесь:
http://popoff.donetsk.ua/map.html) и статические (как, например, здесь:
http://popoff.donetsk.ua/news/). Статическое - не означает, что оно не может измениться, это значит, что дерево генерируется полностью. На уровне подготовки данных я действительно передаю многомерный массив, в котором содержтся это дерево. В динамически подргураемых деревьях вообще нет никакой проблемы с шаблонами, а в статическом дереве я использую шаблон, который рекурсивно вызывает сам себя, передавая в глубь рекурсии вложенную часть дерева. Фактически, получается, не важно, для кого я буду генерировать это дерево: данное и скрипты для его загрузки остаются всегда одними и теми же. Исходники скриптов для построения обоих вариантов деревьев есть в моей системе
popoff.donetsk.ua/light.