SWPatterns.com
Home
Patterns
Languages
Contribute
  • Scheduler-Agent-Supervisor

    behavioral concurrency distributed systems

    The Scheduler-Agent-Supervisor pattern addresses the challenge of reliably executing tasks in a distributed or concurrent environment. A Scheduler is responsible for creating and assigning tasks to Agents. Agents execute these tasks and report their status. A Supervisor independently monitors the Agents and, if an …

    Read More
  • Rate Limiting

    behavioral resilience microservices

    Rate limiting is a technique used to control the rate at which users or systems can access a resource. This is crucial for preventing abuse, ensuring service availability, and protecting backend systems from overload. By limiting the number of requests within a specific timeframe, rate limiting helps to maintain a …

    Read More
  • Cache Aside

    behavioral performance

    The Cache Aside pattern is a caching technique where the application first checks if the requested data exists in the cache. If it does, the cache returns the data immediately. If the data is not in the cache (a “cache miss”), the application retrieves it from the database, stores a copy in the cache for …

    Read More
  • Monitor Object

    concurrency behavioral

    The Monitor Object pattern provides a mechanism to control access to a shared resource in a concurrent environment. It encapsulates the shared resource and its associated access methods, ensuring that only one thread can operate on the resource at any given time. This is achieved through the use of internal locking …

    Read More
  • Redux

    architectural state management functional

    Redux is a predictable state container for JavaScript apps. It helps you manage your application’s state in a centralized and organized manner, making it easier to debug, test, and reason about your application’s behavior. The core idea is to keep the application’s state in a single, immutable store, and only …

    Read More
  • Template View

    behavioral presentation

    The Template View pattern separates the data from how it is presented to the user. It defines a template that outlines the structure of the view, and then concrete view classes fill in the data into the template. This allows for consistent presentation across different data sources or view variations, while still …

    Read More
  • Transactional Outbox

    behavioral integration reliability

    The Transactional Outbox pattern solves the problem of reliably publishing events in a microservices architecture when an event needs to be triggered as a direct result of a database transaction. It ensures that events are not published if the transaction fails, maintaining data consistency. Instead of directly …

    Read More
  • Branch by Abstraction

    behavioral object-oriented

    Branch by Abstraction decouples the logic that chooses which implementation to use from the implementations themselves. Instead of using conditional statements (if/else or switch) to select behavior based on type or configuration, it introduces an abstraction (interface or abstract class) and provides different …

    Read More
  • Guarded Suspension

    behavioral concurrency

    The Guarded Suspension pattern addresses the problem of a thread needing to wait for a resource that isn’t immediately available. Instead of busy-waiting (repeatedly checking for availability), the requesting thread suspends itself, and a separate “guard” thread monitors the resource. When the …

    Read More
  • Supervising Presenter

    behavioral presentation

    The Supervising Presenter pattern addresses the challenge of separating application logic from the user interface in a way that allows for testability and maintainability. It achieves this by introducing a Presenter that mediates between the Application (containing business logic) and the View (UI). The Presenter …

    Read More
    • ««
    • «
    • 1
    • 2
    • 3
    • 4
    • 5
    • »
    • »»

Recent Posts

  • Retry with Backoff
  • Master-Slave
  • Health Check Endpoint
  • Null Object
  • Load Shedding
  • Service Discovery
  • Resequencer
  • Outbox Pattern

C 56 C++ 56 C_SHARP 56 GO 56 JAVA 56 JAVASCRIPT 56 KOTLIN 56 PYTHON 56 RUST 56 DART 55 PHP 55 RUBY 55 SCALA 55 SWIFT 55 TYPESCRIPT 55

BEHAVIORAL 147 ARCHITECTURAL 37 DDD 33 CONCURRENCY 26 INTEGRATION 21 CREATIONAL 18 DISTRIBUTED SYSTEMS 15 GOF 15 STRUCTURAL 13 RELIABILITY 10 SCALABILITY 10 PERFORMANCE 9 RESILIENCE 9 MICROSERVICES 7 OBSERVABILITY 6 MESSAGING 5 OPERATIONAL 5 DATA ACCESS 4 DEPLOYMENT 4 WEB 4 BEST PRACTICE 3 CLOUD 3 DATA 3 INFRASTRUCTURE 3 PRESENTATION 3 SECURITY 3 ARCHITECTURE 2 ASYNCHRONOUS 2 COMMUNICATION 2 DATA PROCESSING 2 DESIGN PATTERNS 2 DISTRIBUTED 2 DISTRIBUTED SYSTEM 2 EVENT-DRIVEN 2 FUNCTIONAL 2 IDIOMATIC 2 OBJECT-ORIENTED 2 ORM 2 SYSTEM 2 UI 2 AI 1 ANTI_PATTERN 1 AUTOMATION 1 CACHING 1 COLLABORATION 1 CONCURRENT 1 CQRS 1 CROSS-CUTTING 1 DATA MODELING 1 DATABASE 1 DESIGN PRINCIPLES 1 DEVELOPMENT 1 DEVOPS 1 DOMAIN 1 ENTERPRISE INTEGRATION 1 EXTENSIBILITY 1 FOUNDATIONAL 1 FRONTEND 1 KUBERNETES 1 LEGACY 1 LOOSELY COUPLED 1 MEMORY MANAGEMENT 1 MESSAGE 1 MESSAGE-QUEUE 1 METAPROGRAMMING 1 MIDDLEWARE 1 MONITORING 1 NETWORKING 1 OBJECT-CREATION 1 OBJECT-RELATIONAL 1 OBJECT-STRUCTURAL 1 OOA 1 OPERATIONS 1 PARALLELISM 1 PERSISTENCE 1 PROCESSING 1 REACTIVE 1 REFACTORING 1 RELEASE 1 ROBUSTNESS 1 SOFTWARE ARCHITECTURE 1 STATE 1 STATE MANAGEMENT 1 STRATEGIC 1 STRATEGIC DESIGN 1 TRADITIONAL 1 TRANSVERSAL 1 WEB APPLICATION 1

ABSTRACT FACTORY 15 ADAPTER 15 BLACKBOARD 15 BRIDGE 15 BUILDER 15 CHAIN OF RESPONSIBILITY 15 CLEAN ARCHITECTURE 15 CLIENT-SERVER 15 CLUSTER-BASED ARCHITECTURE 15 COMMAND 15 COMPOSITE 15 DECORATOR 15 DEPENDENCY INJECTION 15 EVENT-DRIVEN ARCHITECTURE 15 EXTENSION OBJECT 15 FACADE 15 FACTORY METHOD 15 HEXAGONAL ARCHITECTURE 15 INTERPRETER 15 ITERATOR 15 LAYERED ARCHITECTURE 15 LAZY INITIALIZATION 15 MASTER-SLAVE 15 MEDIATOR 15 MEMENTO 15 MESSAGE BROKER 15 MICROKERNEL 15 MICROSERVICES 15 MODULE 15 MONOLITH 15 MULTITON 15 N-TIER 15 NULL OBJECT 15 OBJECT POOL 15 OBSERVER 15 ONION ARCHITECTURE 15 PEER-TO-PEER 15 PIPES AND FILTERS 15 POLICY 15 PROTOTYPE 15 PROXY 15 PUBLISH-SUBSCRIBE 15 SELF-CONTAINED SYSTEMS 15 SERVICE LOCATOR 15 SHARED-NOTHING 15 SINGLETON 15 SNAPSHOT 15 SOA 15 SPACE-BASED ARCHITECTURE 15 SPECIFICATION 15 STATE 15 STRATEGY 15 TEMPLATE METHOD 15 VISITOR 15 FLYWEIGHT 14 SUPERVISOR-WORKER 10
SWPatterns.com

Licenza Creative Commons - Made with ❤️ in Bologna - for info contact me on GitHub or Twitter