React+Redux practices case study
and do not represent opinions of my employer
Data-oriented programmingÂ
Functional programmingÂ
CQRS
Changeability > Performance
Explicitness
Clean Architecture
Coding in the language of Domain
App vs UI vs Data
Declarativeness
Dependencies = DAG
Feature Cohesion
State Machine testing
Think "plugins"
=
Independently
Connected
Components
(independent of parent context)
1. Connect is partially applied
2. Index exports (component + connect)
3. Specialization goes to subdirectories
Directory structure
===
state structure
1. No derived data in domains
2. Single Source of Writes
3. Represents Domain Entities
4. Indexed (byId, byOrder)
Think "a table in relational DB"
5. Dependent reducers
1. Derived Data is in selectors
2. Action is handled by only one reducer
3. Actions have domain-specific names
4. Dependent actions
📜 First Normal Form
📜 Data Domain
📜 CQRS Explained
📜 Statecharts
📜 SAM.js