Любой бизнес-процесс можно представить как цепочку событий. Например для интернет-магазина типичная цепочка событий может быть такой:
Важно обратить внимание что события инициируются и выполняются в разных частях системы, т.е. нужен механизм загрузки обработчиков событий. Самым простым и традиционным таким механизмом есть написание и затем подключение некой библиотеки функций и классов, реализующих бизнес логику приложения. Однако у этого механизма есть недостатки:
Альтернатива
Механизм наследования вкладок Nova вместе с иерархией страниц предоставляет богатые возможности для гибкой и эффективной организации кода. Дело остается за малым - как загрузить и выполнить этот код в нужном месте в нужное время? Здесь может пригодиться модуль loader.php - с его помощю можно загружать и встраивать в текущую структуру Nova вкладки из других ветвей. Тогда структуру приложения можно свести примерно к следующей:
/веб-сайт/... - представление для веб-браузеров /мобильная версия/... - представление оптимизированное для мобильных устройств /админчасть/... - закрытая часть доступная лишь клекрам /обработчики событий/ - база обработчиков не доступна напрямую, а загружается по необходимости /событие A /событие А1 /событие B /событие C