1.9 KiB
1.9 KiB
Presentation layer
- Consists of Vue.js components and other UI-related code.
- Desktop application is created using Electron.
- Event driven as in components simply listens to events from the state and act accordingly.
Application data
- Components and should use ApplicationFactory singleton to reach the application domain.
- Application.ts domain model is the stateless application representation including
- available scripts, collections as defined in collection files
- package information as defined in
package.json
- 📖 See Application data | Application layer where application data is parsed and compiled.
Application state
- Stateful components mutate or/and react to state changes in ApplicationContext.
- Stateless components that does not handle state extends
Vue - Stateful components that depends on the collection state such as user selection, search queries and more extends
StatefulVue - The single source of truth is a singleton of the state created and made available to presentation layer by
StatefulVue StatefulVueincludes abstracthandleCollectionStatethat is fired once the component is loaded and also each time collection is changed.- Do not forget to subscribe from events when component is destroyed or if needed collection is changed.
- 💡
eventsin base classStatefulVuemakes lifecycling easier
- 💡
- 📖 See Application state | Application layer where the state is implemented using using state pattern.