Eva Architecture

EvaArchitecture or Eva is based on model–view–viewmodel (MVVM) pattern and is the implementation of the message broker or event bus pattern.

It is designed to use SOLID (object-oriented design).

Eva Features:
. + Publish & Subscribe Parallel events
. + Async await events
. + Coroutine IEnumerator events
. + Usual events
. + All in one event type: publish event and subscibe in Usual, Coroutine, Async, Parallel at the same time
. + Publish events with any model type or without it
. + Liteweight events, no event instances creation, no extra use of heap or stack
. + UiService included with often used components EvaButton, EvaText, EvaImage
. + Log included which avoids overhead of string values calculations.
Eva does not create objects in memory for each new instance of event. It works very smartly and doesn't waste heap memory.
All events are lightweight. You also don't need to care about the size of the stack segment.

Especially created for Unity3d engine, Eva has excellent optimization for slow mobile phones and devices.

Eva does not use code generation and is compatible with a lot of frameworks.

Eva itself does not increase the compilation time.