Application Design Patterns Flashcards
(43 cards)
In application design, what is the ambassador pattern?
Ambassador Pattern (App Design):
Used to offload everyday tasks (e.g., logging, security, retries) from a client to a helper service (the ambassador) that sits beside the client. This is useful when interacting with external or legacy services.
Example:
A microservice uses an ambassador to add retry logic before calling an external payment API.
In application design, what is the anti-corruption layer
Anti-Corruption Layer (ACL)
in application design is a protective layer that isolates your system from external or legacy systems to avoid unwanted dependencies or “corruption” from their models. It translates data and behavior between systems, preserving your domain integrity.
Example:
A modern e-commerce app uses an ACL to interact with a legacy ERP system, translating its outdated product data model into the app’s clean, consistent format.
in application design, what is an asynchronous request-reply
An asynchronous request-reply is a communication pattern where the sender sends a request and continues without waiting for an immediate response. The reply comes later, often via a callback, message queue, or polling. This improves scalability and responsiveness.
Example: A web app sends an image to an API for processing. It immediately returns control to the user, and the result is delivered later via email or a status endpoint.
In the application design, what are the backends for the frontend pattern?
Backends for Frontend (BFF)** is a design pattern where each frontend (e.g., web, mobile) has a dedicated backend tailored to its needs. It helps simplify frontend development by aggregating and shaping data from multiple services.
Example:
A mobile app BFF fetches user data and images from different microservices, formats them efficiently for mobile display, and returns a compact response.
Key Benefit:
Decouples frontend from complex backend logic, improving performance and maintainability.
In application design, what is the Bulkhead Pattern?
Backends for Frontend (BFF)** is a design pattern where each frontend (e.g., web, mobile) has a dedicated backend tailored to its needs. It helps simplify frontend development by aggregating and shaping data from multiple services.
Example:
A mobile app BFF fetches user data and images from different microservices, formats them efficiently for mobile display, and returns a compact response.
Key Benefit:
Decouples frontend from complex backend logic, improving performance and maintainability.
Ai application design: what’s caching aside?
Caching** in AI application design means storing frequently used data in a temporary storage (cache) to reduce repeated computation or slow database access, improving performance and response times.
Example:
An AI chatbot caches user profile data after the first lookup to avoid hitting the database on every message.
Ai application design what’s Choreography?
Choreography in AI application design refers to a decentralized coordination pattern where each service or component reacts to events independently without a central controller.
🔹 Key idea: Services listen for and emit events, enabling flexible, loosely coupled interactions.
📘 Example: In an AI workflow, the “Image Uploaded” event triggers an “Image Classifier” service, which emits a “Classification Done” event that a “Report Generator” listens to — no central orchestrator required.
In application design was a circuit breaker?
an application design what’s the calm check
can I please design what’s the compensating transaction
in application design was completing consumers
an application designed with compute resource consolidation
an application design what cors
an application is designed what’s deployment stamps
in application design what’s it work looked configuration
the application design was event sourcing
an application design what’s external configuration store
in application design what’s the GateKeeper
in the application design what’s the Gateway aggregation
an application design was to Gateway offloading
in application design once Gateway routing
an application designed was geode
an application design was held to endpoint monitoring
an application design what’s an index table