Design and Architecture Topics

Step by step guide to learn software design and architecture

All Topics

Browse through all topics in the Design and Architecture roadmap

Software Design Architecture
Clean Code Principles
Be Consistent
Meaningful Names
Indentation and Code Style
Keep it Small
Pure Functions
Minimize Cyclomatic Complexity
Avoid Passing Nulls Booleans
Keep Framework Code Distant
Use Correct Constructs
Keep Tests Independent
Use Meaningful Names
Code by Actor
Command Query Separation
Avoid Hasty Abstractions
Programming Paradigms
Structured Programming
Functional Programming
Object Oriented Programming
Object Oriented Programming
Primary Principles
Inheritance
Polymorphism
Abstraction
Encapsulation
Paradigm Features
Abstract Classes
Concrete Classes
Scope Visibility
Interfaces
Model Driven Design
Domain Models
Anemic Models
Layered Architectures
Domain Language
Class Invariants
Software Design Principles
Composition over Inheritance
Encapsulate What Varies
Program Against Abstractions
Hollywood Principle
SOLID
DRY
YAGNI
Design Patterns
GoF Design Patterns
POSA Patterns
Architectural Principles
Component Principles
Policy vs Detail
Coupling and Cohesion
Boundaries
Architectural Styles
Messaging
Publish Subscribe
Event Driven
Distributed
Client Server
Peer to Peer
Structural
Component Based
Monolithic
Layered
Architectural Patterns
CQRS
SOA
Domain Driven Design
Model View Controller
Microservices
Blackboard Pattern
Microkernel
Serverless Architecture
Message Queues Streams
Event Sourcing
Enterprise Patterns
DTOs
Identity Maps
Use Cases
Repositories
Mappers
Transaction Script
Commands Queries
Value Objects
Domain Models
Entities
ORMs
Total of 87 topics
Loved by 100K+ Developers

Start Your Learning
Journey Today

Join thousands of developers who are leveling up their skills with structured roadmaps and expert guidance

No credit card required
Always free
Track your progress