a_jelly: (Default)
[personal profile] a_jelly
Маркетоиды, и не только они часто заливают нам баки на тему чудодейственных средств отделения buisness-layer от presentation-layer.
Идея сама по себе неплохая. Но в Web-программировании, похоже, не реализуемая. Каки могут быть варианты (берем только динамические сайты):

1. Plain PHP (язык не важен)
у программиста не дрожит рука написать нечто вроде:
            echo "<TR BGCOLOR=\"".$clr."\">";
            echo "<TD COLSPAN=2>";


и все зашибись. Конечно, для смены дизайна надо потрудиться, но зато просто и быстро.

2. Программист решает использовать templates той или иной степени наворочености, поддавшись на рекламу (см. выше)
Без зазрения совести он фигачит .tpl файлы с фрагментами типа:
<select name='company_id'>
  {html_options options=$companies selected=$company_id}
</select>
{foreach name=outer item=contact from=$contacts}
    {foreach key=key item=item from=$contact}
        {$key}: {$item}<br>
        {$key}: {$item}<br />
    {/foreach}
{/foreach}


Конечно, этот код в жизни не понять дизайнеру или верстальщику, и работает он медленнее, зато "это темплейты"!

3. Программист переходит на популярный AJAX.
Он генерит из своего языка (хоть даже C++) только XML-и и отсылает их на клиент. Довольный, потирает руки - он полностью ушел от проблем представления!
А в это время другой такой же программист хреначит километровые простыни на JavaScript, где парсит XML, рисует страницу в том же самом стиле, что его собрат из примера 1 при этом тихо матеря backend.

Короче - все плохо... Так где же выход? Спросит пытливый читатель... См. Subj, отвечу я.
Ни один из подходов не достигает обозначенной цели. Разумеется, templates НЕ РАЗДЕЛЯЮТ уровни. Они разделяют разве что PHP и HTML код, попутно внося в HTML некий новый вид "кода". С теми же if-ами, циклами, переменными, функциями...

Так же и AJAX не разделяет ничего кроме клиентской и серверной части (по языкам). Вот это разделение там действительно делается на ура.

Итог - как обычно "No Silver Bullet". А вы чего ожидали?

January 2026

S M T W T F S
    123
4 5678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 10th, 2026 06:11 am
Powered by Dreamwidth Studios