Skip to content

This is an event bus divided into layers. In each layer there are entities-handlers of input events (In) and generators (Out) of outgoing events. The layer controller analyzes the entities inside and forms direct links between the outputs and inputs of different entities in the layer, based on the topic and state.

License

Notifications You must be signed in to change notification settings

Avataromvatar/tastypie

Repository files navigation

TastyPie

Вкусный пирог - это эксперемент по созданию вкусного слоенного пирога вашего App.

Briefly

Это событийная шина разбитая на слои. В каждом слое находятся сущности-обработчики входных событий(In) и генераторы(Out) исходящих событий. Событие формируется из темы(топика)<String>, состояния<int> и тела события. По топику и маски состояния фильтруются вcе события как входящие так и исходящие (dto.topic==topic && (dto.state&state_mask != 0)).

Контроллер слоя, анализируя сущности внутри и формирует прямые связи(direct link) между выходами и входами разных сущностей в слое, на основании топика и состояния.

Основные цели:

  • Разделение компонентов на функ. группы (слои)
  • Обеспечения общей событийной шины для компонентов внутри слоя и правила внешних связей
  • быстрый вызов обработчиков исходящих событий
  • вариации данных события либо вариация обработчиков по состоянию
  • простота и универсальность.
  • возможность создания графа связей для того чтобы проанализировать и повысить понимаемость какая магия происходит
  • поддержка потоков

Взаимодействие между элементами

взаиодействия с элементами

Taste - TastyPieDTO

String topic int state dynamic data

TastyPieLayer

Topping -

TODO

  • Add helper - MasterLayer singltone
  • need divided interface for consumer and developer. Example when inherit Topping no need IToppinMechanic
  • Analize - Maybe remove state?
  • [v] Topping addTaste... add param onlyInTheLayer

Приложение делится на слои( TastyPieLayer). Каждый слой наполняется начинкой(Topping (Archaea now)). Начинка сожержит вкус (Taste (ArchaeaPoint)) который раскрывается(отрабатывает handler) при дегустации(Tasting (call))

About

This is an event bus divided into layers. In each layer there are entities-handlers of input events (In) and generators (Out) of outgoing events. The layer controller analyzes the entities inside and forms direct links between the outputs and inputs of different entities in the layer, based on the topic and state.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages