โ† All CPP Flashcard Decks

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
  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.