General
30 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
Design Patterns
Reusable solutions to common software design problems
Microservice Architecture
Structuring apps as loosely coupled independent services
TDD
Writing tests before code in a red-green-refactor cycle
Refactoring
Restructuring code without changing external behavior
Technical Debt
Cost of rework from easy solutions over better ones
BDD
Extending TDD with natural language behavior specs