Идеи и подходы - Концепция Core II

Прежде всего, хочу оговориться, что концепция Core и MicroCore не имеет никакого отношения к микроядерному и монолитному подходу в создании операционных систем, и ни к какому прочему подходу со схожими названиями. Core - это лишь имя методики, оно не несёт на себе такой смысловой нагрузки.
В остальном же - сам подход есть лишь мысли и философия.

Расширение до Core II



Эволюцией модульного подхода Core I стал более универсальный блочный подход Core II.
На практике было замечено, что иногда хочется создавать страницы с разным функционалом, не разбивая их на модули по функционалу, как например, на страничке типа "текст" с рассказом о себе, хочется создать подраздел с фотогалереей или блогом. Подход Core I не позволяет этого сделать, так как в этом случае страницы с разным функционалом отделяются друг от друга в разных независимых модулях, которые связываются между собой только вручную ссылками в самом тексте модулей.

В этом случае возникла идея другой абстракции содержимого сайта. В данном случае сайт представляется не раздробленным на отдельные модули, а единым иерархически связанным объектом. Весь сайт расходится, как дерево, ветвями которого являются блоки (div). Блок служит универсальной интерпретируемой структурой. Как выяснилось, для описания любого подраздела как правило требуются одни и те же переменные - заголовок, краткое и полное описание, родительский блок, некоторые другие параметры, плюс небольшая специфическая конфигурация. Блок может содержать в себе элементы - item - как например посты в блоге, фотографии в альбоме и пр. Элементы также описываются базовыми понятиями - название, краткое и полное описание, блок размещения, время пубикации и пользователь-автор. Плюс к этому, к элементу могут быть прикреплены картинки и файлы (ссылки). Кроме этого, каждый элемент поддерживает возможность комментирования.

Таким образом, при подходе Core II сайт разбивается на блоки, блок разбивается на элементы. Каждому блоку в соответствие ставится определённый обработчик, не зависящий от того, какой блок является родительским, и какие блоки вложенными. Каждой записи в блоке присваивается общий обработчик в зависимости от типа блока, кроме случаев блоков-концентраторов, которые собирают элементы разных типов со вложенных блоков. Этот обработчик определяет, как будут испльзоваться прикреплённые к элементу картинки и файлы, и подключать дополнительную информацию.

Этот подход позволяет создавать иерархически сложные системы с любыми типами содержимого, не зависящмим от положения этого содержимого в иерархии.
С точки зрения понимания пользователя, этот подход может быть немного сложнее, чем Core I, но в случае, если пользователь освоится с Core II, он получит неограниченные возможности проектирования веб-систем.

Реализация в MicroCore II



Подход Core II так полностью и не реализован, но частично он появился в MicroCore II. Частично по той причине, что MicroCore ещё не поддерживает такого понятия, как универсальные элементы, и каждый обработчик страницы пользуется своими таблицами элементов. Сейчас система MicroCore II представлена толко в бизнес-версии. Подробнее читайте именно о ней...

На правах рекламы: