Движок на основе слоев

ilkz

Новичок
Движок на основе слоев

Всем привет!

Мучился-мучился, в итоге пришел вот к чему.
В процессе создания движка много чего перепробовал. Но пришел к такому алгоритму:
Движок состоит из ядра и трех слоев, "соединенных" между собой буферами. Объясняю:

Пользователь выдает запрос (кликает по ссылке). Этот запрос поступает в ядро, где сначала фильтруется, после чего передается в первый слой - слой информации.

Задача первого слоя - разобрать отфильтрованный запрос, подключить соответствующий модуль, который на основе запроса заполнит первый буфер инфой (только инфой - без всякого дизайна-оформления) согласно некоторому стандарту.

После этого ядро запускает второй слой - слой блоков. Его задача - оформить инфу, хранящуюся в буфере первого слоя. Оформление берется из соответствующих источников (файлы, БД, сокеты). После этого оформленные блоки (с инфой) помещаются в буфер второго слоя.

Далее ядро запускает третий слой - слой страниц (передавая ему буфер второго слоя). Его задача - прочесть/пропарсить шаблон страницы и в соответствии с находящимися в нем псевдотегами вставить блоки из буфера второго слоя. Далее этот слой формирует буфер третьего слоя - окончательный, который впоследствии ядро берет и (пока что) просто выводит пользователю.

Все.

Чего я этим добился (как я думаю):
- Довольно четкое отделение инфы, дизайна блоков и шаблона;
- довольно прозрачная и удобная архитектура;
- возможность сравнительно просто наращивать возможности движка;

Недостатки:
- необходимость введения определенных стандартов на форматы промежуточных буферов;

Прилагаю иллюстрацию работы для лучшего фтыкания :) :
 

Кром

Новичок
Пофтыкали. Лепота. Особенно цифирки нашлепленные в кривь и в кось. Рисуй еще.
 

ilkz

Новичок
Не, я серьезно - насколько приемлем такой вариант построения движка?
И чем вам не нравится рисунок? Ну да - криво, но зато идея отражена.

-~{}~ 24.08.05 16:42:

Кстати, есть предварительный рабочий вариант. Правда, кривовато написан - но работает :)
 

Кром

Новичок
>насколько приемлем такой вариант построения движка?

Если слово "слой" заменить на "класс", то мы видим, что ничего такого особенного в этом движке нет. Обыкновенная логика работы сайта.

>И чем вам не нравится рисунок? Ну да - криво, но зато идея отражена.

Идею можно и соплей, размазанной по столу, отразить. Но чтобы показывать свои идеи стронним разрабочикам, лучше все таки использовать Visio или другие программы, подходящие для этого.

>Кстати, есть предварительный рабочий вариант. Правда, кривовато написан - но работает

Отлично, продолжай его совершенствовать.
 

robocomp

Новичок
Движёк роскошен, готов скачать и использовать навсегда.
Пара вопросов к архитектору движка:
1. В чем принипальные отличия от существующих (phpMVC, limb-project, mojavi, ambivalence, php struts )?
2. Чем предложенная модель лучше шаблона модель, представление, контролёр? (http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html and here you should look either http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html)

3. А вообще -- звучит достаточно сыро.
Кстати, "стандартизовывать" формат наполнения "буферов" тоже осбого смысла нет, имхо. По-моему, достаточно распространённая проактика использования объекта контекста не имеет особых недостатков в сравнении с описанной автором методикой, да?
 
Сверху