SWPatterns.com
Home
Patterns
Languages
Contribute
  • Policy - Dart

    The Policy pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. It allows you to change the algorithm used at runtime without modifying the client code. This is achieved by defining a common interface for all algorithms (the “policy”) and then having concrete policy …

    Read More
  • Policy - Scala

    The Policy pattern allows you to encapsulate a set of business rules or constraints into separate, reusable policy objects. This promotes separation of concerns and makes it easier to modify or extend the rules without affecting the core logic. The code defines a ValidationPolicy trait with a validate method. Concrete …

    Read More
  • Policy - PHP

    The Policy pattern encapsulates complex business logic or rules into separate classes, allowing for flexibility and maintainability. Instead of embedding these rules directly within an object, the object delegates the decision-making to a Policy object. This promotes the Single Responsibility Principle and makes it …

    Read More
  • Policy - Ruby

    The Policy pattern encapsulates business rules and logic related to permissions and authorization within dedicated policy objects. This promotes separation of concerns, making the code more maintainable and testable. Instead of scattering authorization checks throughout the application, a central policy determines if …

    Read More
  • Policy - Swift

    The Policy pattern allows you to encapsulate a complex set of business rules into separate, interchangeable policy objects. This promotes flexibility and maintainability by avoiding monolithic conditional logic. Instead of a single class making decisions based on numerous if/else statements, different policies can be …

    Read More
  • Policy - Kotlin

    The Policy pattern allows you to encapsulate a non-functional requirement (like security, logging, or caching) into a separate, reusable component. This avoids scattering such logic throughout your core business logic, promoting separation of concerns and making it easier to modify or extend these policies without …

    Read More
  • Policy - Rust

    The Policy pattern allows you to decouple the logic that determines if an operation is allowed from the operation itself. It achieves this by defining a “policy” – a trait or interface – that encapsulates the authorization rules. Different policies can be swapped in at runtime to change the behavior …

    Read More
  • Policy - Go

    The Policy pattern allows runtime modification of an object’s behavior without altering its core code. It achieves this by defining a set of policies (typically interfaces) that encapsulate different behaviors. An object (the context) can then accept and apply these policies dynamically. This promotes flexibility …

    Read More
  • Policy - C

    The Policy pattern allows you to define a family of algorithms (policies) and encapsulate each one into a separate class. It then allows the client to choose which algorithm to use at runtime without knowing the details of its implementation. This promotes loose coupling and flexibility.

    Here, we define a data_t …

    Read More
  • Policy - C++

    The Policy pattern allows you to decouple algorithms from the specific ways they perform certain steps (policies). These policies are then injected into the algorithm, enabling runtime variation of behavior without modifying the algorithm itself. This promotes flexibility and reusability.

    The C++ example demonstrates a …

    Read More
    • ««
    • «
    • 1
    • 2
    • »
    • »»

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