👽
👽
👽
👽
notes
blog
twitter
twopm
cv
Search…
👋
Hello!
📜
Remember
🆗
Priorities
Philosophy
Quotes
Musings
Incomplete Articles
Resources
Meditation
Progression
The Body
Consciousness
Relaxation
Metta
Programming
Programming Languages
Software Architecture
Functional Programming
Modern Frontend Development
F# + Unity3d
Design Systems
Property-based Testing
Observables & Rx
Backend-as-a-Service
Health
Simple Nutrition
Fasting
Supplementation
Exercise
Protein Shake Ingredients List
Cardiac Disease
Archives
Other People's Work
Journal Articles
Interesting Websites
erowid.org
gwern.net
moretothat.com
designluck.com
signalvnoise.com
fs.blog
bullets.news
Game Development
Techniques
Hackintosh
Clover Update Steps
Powered By
GitBook
Software Architecture
Resources for my thinking on UI Programming, Distributed Systems Design and Video Game Architecture. Spoilers: it's the same patterns everywhere.
Event-Driven communication
Limit direct interaction between components of a system
Data-Oriented
Events -> Components -> Data Updates
Data Updates -> Components -> Events
Requests -> Components -> Data Queries -> Response
Unidirectional, immutable, pure, side-effects at boundaries
​
Functional core, imperative shell
​
Domain-Driven-Design
Carefully architect code around core business concepts
My take on video-game architecture
When considering game architecture specifically a few extra elements become relevant:
Zero-allocation event dispatch
Object pooling
Minimal-allocation state update
Clever immutable data structures
Minimal-allocation projection update
Infrequent projection changes can allocate
Frequent projection changes should be computed with no allocation
Minimal-runtime-instantiation of game entities
Object pooling
Object lifecycle handling, no dangling subscriptions
Data-Oriented Architecture
Data-Oriented Architecture
Eyas's Blog
​
https://engineering.fb.com/data-infrastructure/messenger/
​
Unidirectional Dataflow
The Elm Architecture · An Introduction to Elm
In-Depth Overview | Flux
Cycle.js
Event-Driven (& Event-Sourcing, CQRS)
A Brief Intro to Clean Architecture, Clean DDD, and CQRS
CQRS + Event Sourcing – Step by Step | Learn CQRS and Event
Learn CQRS and Event Sourcing
GitHub - kgrzybek/modular-monolith-with-ddd: Full Modular Monolith application with Domain-Driven Design approach.
GitHub
​
Programming - Previous
Programming Languages
Next - Programming
Functional Programming
Last modified
2yr ago
Copy link
Contents
Data-Oriented Architecture
Unidirectional Dataflow
Event-Driven (& Event-Sourcing, CQRS)