SWPatterns.com
Home
Patterns
Languages
Contribute
  • Liskov Substitution Principle

    principle

    The Liskov Substitution Principle has the following wording:

    Let $ \phi (x) $ be a property provable about objects $ x $ of type $ T $. Then $ \phi (y) $ should be true for objects $ y $ of type $ S $ where $ S $ is a subtype of $ T $.

    The principle stems from a base concept that is “An Interface is a …

    Read More
  • Decorator

    GOF structural

    The Decorator pattern enables us to change the behavior of an object by hiding the contained functions and adding new functionalities around it. It is also a common way to avoid the limits of single inheritance by multiple interface implementations (composition over inheritance).

    Usage

    This pattern finds its typical …

    Read More
  • Composite

    GOF structural

    The Composite Pattern enables us to collect objects into trees that can be easily explored. The Parent represents the access point to the tree, where it in fact will be a Container, usually. The container will be able to contain other Container objects or Leaf objects.

    Often the sublcasses or the leaves can be …

    Read More
  • Cargo Cult Programming

    anti_pattern

    Cargo Cult Programming gets its name from the Cargo Cults in Melanesia. The concept is simple: the hope that the same approach to a problem might solve an issue within our system without the understanding of both context and language or libraries.

    Examples

    • Copy and paste from StackOverflow without understanding of the …

    Read More
  • Observer

    GOF behavioral

    Oberver Pattern enables the broadcast communication between an event subject, that emits changes to its state to all of its observers.

    Usage

    Modern day usage is biased by the existence of rx and the reactive libraries across most important languages. Most modern libraries rely on observables and observers to get the …

    Read More
  • Adapter

    GOF Structural

    The adapter aims to be a converter between two specific interfaces: one belonging to “our” side of the application, the other to the library or other tool we need to interact with. This is very important, because it enables us to delay decisions, as the choice of a spcific implementation of the adapter …

    Read More
  • Singleton

    GOF Creational

    Singleton design pattern enables us to guarantee unicity and a single entry point for services and accesses. Tipically it requires the standard contructor to be hidden in order to avoid direct instantiation, but modern frameworks use this pattern in conjunction with other creational patterns in order to ease the …

    Read More
    • ««
    • «
    • 18
    • 19
    • 20
    • 21
    • 22
    • »
    • »»

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