Design Patterns & Software Architecture Flashcards
6 cards from real CPP practice questions. Tap to flip, then mark Knew It or Still Learning โ missed cards come back until you master them.
Read the first 6 Design Patterns & Software Architecture flashcards as text
What is microservices architecture?
Answer: Structuring an application as a collection of small, independently deployable services each responsible for a specific business capability
Microservices decompose an application into loosely coupled services that can be developed, deployed, and scaled independently.
What is the Repository pattern?
Answer: An abstraction layer over data access logic that provides a collection-like interface for accessing domain objects
The Repository pattern decouples business logic from data access concerns, making it easier to swap data sources and write unit tests.
What is Domain-Driven Design (DDD)?
Answer: An approach that centers software design around a rich model of the business domain, using a shared ubiquitous language
DDD aligns software structure with business concepts using bounded contexts, aggregates, and a shared vocabulary between developers and domain experts.
What is CQRS (Command Query Responsibility Segregation)?
Answer: A pattern that separates read (query) and write (command) operations into distinct models
CQRS uses separate models for updating and reading data, enabling independent optimization, scaling, and even different storage for each side.
What is the Adapter design pattern?
Answer: A pattern that converts the interface of a class into another interface expected by the client
The Adapter pattern acts as a bridge between incompatible interfaces, allowing classes to work together that otherwise could not.
What is event-driven architecture?
Answer: A design where components communicate by producing and consuming events asynchronously via an event bus or message broker
Event-driven architecture decouples producers from consumers so services react to events without direct dependencies on each other.