General
276 views
System Design
Quick Definition
Defining architecture components and interfaces for systems
Full Definition
The process of defining architecture components and interfaces for a system.
Examples
scalability, availability, load balancing, database sharding, caching
Related Terms
architecture
scalability
distributed-systems
More General Terms
Trunk Based Development
Branching model integrating code to main branch frequently
BDD
Extending TDD with natural language behavior specs
CQRS
Separating read and write models for better scaling
Semantic Versioning
Version scheme using MAJOR.MINOR.PATCH format
Microservice Architecture
Structuring apps as loosely coupled independent services
TDD
Writing tests before code in a red-green-refactor cycle