What are Design Patterns (Creational, Structural, Behavioral)?

Updated Apr 28, 2026

Short answer

Standardized solutions to common problems in software design, categorized by how objects are created, structured, or interact.

Deep explanation

Mid-level architecture focuses on system interactions and decoupling. Dependency Injection is a key tool here, allowing for easier testing and modularity. You also begin to encounter trade-offs in distributed systems, such as those described by the CAP theorem. The goal shifts from 'writing good code' to 'designing good components'.

Real-world example

Using a message broker like RabbitMQ to decouple a 'Payment' service from an 'Email Notification' service.

Common mistakes

  • Using CQRS for a simple CRUD application, leading to unnecessary complexity and data synchronization issues.

Follow-up questions

  • What is the 'Inversion of Control' container?

More Software Architecture interview questions

View all →