SlideShare ist ein Scribd-Unternehmen logo
1 von 2
Downloaden Sie, um offline zu lesen
C     Abstract Factory                           S       Facade                                       S      Proxy                                                                                                                          Memento
                                                                                                                                                  Memento
S     Adapter                                    C       Factory Method                               B      Observer                                                                               Caretaker                       -state
                                                                                                                                                  Type: Behavioral
S     Bridge                                     S       Flyweight                                   C       Singleton
                                                                                                                                                  What it is:
C     Builder                                    B       Interpreter                                  B      State                                Without violating encapsulation, capture
                                                                                                                                                  and externalize an object's internal state
                                                                                                      B      Strategy                             so that the object can be restored to this
B     Chain of Responsibility                    B       Iterator                                                                                                                                               Originator
                                                                                                                                                  state later.
B     Command                                    B       Mediator                                     B      Template Method                                                                        -state

                                                                                                      B      Visitor                                                                                +setMemento(in m : Memento)
S     Composite                                  B       Memento                                                                                                                                    +createMemento()

S     Decorator                                  C       Prototype


                                                                                                                                                                                                         «interface»
                                                                                                                                                                                                                                notifies
                                  «interface»                   successor       Chain of Responsibility                                            Observer                                               Subject                               «interface»
                                   Handler                                                                                                                                                                                                       Observer
       Client                                                                                                                                                                                     +attach(in o : Observer)
                              +handleRequest()                                  Type: Behavioral                                                   Type: Behavioral                               +detach(in o : Observer)                  +update()
                                                                                                                                                                                                  +notify()
                                                                                What it is:                                                        What it is:
                                                                                Avoid coupling the sender of a request to                          Define a one-to-many dependency between
                                                                                its receiver by giving more than one object                        objects so that when one object changes
                                                                                a chance to handle the request. Chain the                          state, all its dependents are notified and
                                                                                receiving objects and pass the request                             updated automatically.
                                                                                along the chain until an object handles it.                                                                           ConcreteSubject         observes      ConcreteObserver
                 ConcreteHandler1             ConcreteHandler2
                                                                                                                                                                                                     -subjectState                         -observerState
                 +handleRequest()            +handleRequest()
                                                                                                                                                                                                                                           +update()




        Client                                        Invoker                  Command                                                            State                                               Context
                                                                                                                                                                                                +request()
                                                                               Type: Behavioral                                                   Type: Behavioral                                                                «interface»
                                                                                                                                                                                                                                     State
                    ConcreteCommand                                            What it is:                                                        What it is:                                                                 +handle()
                    +execute()                                                 Encapsulate a request as an object,                                Allow an object to alter its behavior when
                                                                               thereby letting you parameterize clients                           its internal state changes. The object will
                                                                               with different requests, queue or log                              appear to change its class.
                                                                               requests, and support undoable operations.
                                                  Command
       Receiver
                                            +execute()                                                                                                                                                             ConcreteState1             ConcreteState2
 +action()
                                                                                                                                                                                                                  +handle()                 +handle()




        Client
                                                                               Interpreter                                                        Strategy                                            Context
                                                                                                                                                  Type: Behavioral                                                              «interface»
                                                                               Type: Behavioral                                                                                                                                  Strategy
                                 «interface»
                                                                                                                                                  What it is:
       Context               AbstractExpression                                                                                                                                                                              +execute()
                                                                               What it is:                                                        Define a family of algorithms,
                             +interpret()                                      Given a language, define a representation                          encapsulate each one, and make them
                                                                               for its grammar along with an interpreter                          interchangeable. Lets the algorithm vary
                                                                               that uses the representation to interpret                          independently from
                                                                               sentences in the language.                                         clients that use it.
                                                                                                                                                                                                              ConcreteStrategyA            ConcreteStrategyB
     TerminalExpression              NonterminalExpression                                                                                                                                                    +execute()                   +execute()
    +interpret() : Context           +interpret() : Context




                              Client
                                                                               Iterator                                                            Template Method                                                     AbstractClass

                                                                               Type: Behavioral                                                    Type: Behavioral                                                  +templateMethod()
        «interface»                             «interface»                                                                                                                                                          #subMethod()
        Aggregate                                 Iterator                                                                                         What it is:
                                                                               What it is:
    +createIterator()                       +next()                            Provide a way to access the elements of                             Define the skeleton of an algorithm in an
                                                                               an aggregate object sequentially without                            operation, deferring some steps to subclasses.
                                                                               exposing its underlying representation.                             Lets subclasses redefine certain steps
                                                                                                                                                   of an algorithm without changing the
                                                                                                                                                   algorithm's structure.                                              ConcreteClass
    ConcreteAggregate                        ConcreteIterator                                                                                                                                                        +subMethod()
+createIterator() : Context                 +next() : Context




                                                                                                                                                                                                    «interface»
                          informs
                                                 «interface»                   Mediator                                                          Visitor                                              Visitor
                                                                                                                                                                                                                                                    Client
      Mediator                                                                                                                                                                      +visitElementA(in a : ConcreteElementA)
                                                 Colleague                                                                                       Type: Behavioral
                                                                               Type: Behavioral                                                                                     +visitElementB(in b : ConcreteElementB)
                                                                                                                                                 What it is:
                                                                               What it is:                                                                                                                                                       «interface»
                                                                                                                                                 Represent an operation to be
                                                                               Define an object that encapsulates how a                                                                                                                           Element
                                                                                                                                                 performed on the elements of an                 ConcreteVisitor
                                                                               set of objects interact. Promotes loose                                                                                                                      +accept(in v : Visitor)
                                                                                                                                                 object structure. Lets you define a
                                                                               coupling by keeping objects from referring
                                                                                                                                                 new operation without changing +visitElementA(in a : ConcreteElementA)
                          updates                                              to each other explicitly and it lets you vary
                                                                                                                                                 the classes of the elements on      +visitElementB(in b : ConcreteElementB)
                                                                               their interactions independently.
ConcreteMediator                            ConcreteColleague                                                                                    which it operates.
                                                                                                                                                                                     ConcreteElementA
                                                                                                                                                                                                                        ConcreteElementB
                                                                                                                                                                                    +accept(in v : Visitor)
Copyright © 2007 Jason S. McDonald           Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John (1995). Design Patterns: Elements of                                                                         +accept(in v : Visitor)
http://www.McDonaldLand.info                     Reusable Object-Oriented Software. Reading, Massachusetts: Addison Wesley Longman, Inc..
«interface»
      Adapter
                                                                 Adapter                                       Proxy                                                    Client
                                            Client
 +operation()                                                    Type: Structural                              Type: Structural
                                                                                                                                                                                                 «interface»
                                                                 What it is:                                   What it is:                                                                         Subject
                                                                 Convert the interface of a class into         Provide a surrogate or placeholder for                                      +request()
                                                                 another interface clients expect. Lets        another object to control access to it.
  ConcreteAdapter                                                classes work together that couldn't
                                           Adaptee               otherwise because of incompatible
 -adaptee                                                        interfaces.
                                     +adaptedOperation()                                                                                                                                          represents
 +operation()                                                                                                                                                         RealSubject                                                 Proxy
                                                                                                                                                                 +request()                                             +request()




     Abstraction                                                                                                                                                                                     Client
                                                                 Bridge                                         Abstract Factory
  +operation()
                                                                                                                                                             «interface»
                                  «interface»                    Type: Structural
                                                                                                                Type: Creational                           AbstractFactory
                                 Implementor
                                                                                                                                                         +createProductA()                                                 «interface»
                              +operationImpl()                   What it is:
                                                                                                                What it is:                              +createProductB()                                               AbstractProduct
                                                                 Decouple an abstraction from its
                                                                                                                Provides an interface for creating
                                                                 implementation so that the two can vary
                                                                                                                families of related or dependent
                                                                 independently.
                                                                                                                objects without specifying their
                                                                                                                concrete class.
                                                                                                                                                          ConcreteFactory
  ConcreteImplementorA              ConcreteImplementorB                                                                                                                                                               ConcreteProduct
                                                                                                                                                         +createProductA()
  +operationImpl()                  +operationImpl()                                                                                                     +createProductB()



                   «interface»
                                                                                                                                                                                                                    «interface»
                   Component                                     Composite                                     Builder                                               Director
                                                                                                                                                                                                                      Builder
            +operation()                          children
                                                                 Type: Structural                              Type: Creational                              +construct()                                     +buildPart()
            +add(in c : Composite)
            +remove(in c : Composite)
            +getChild(in i : int)                                What it is:                                   What it is:
                                                                 Compose objects into tree structures to       Separate the construction of a
                                                                 represent part-whole hierarchies. Lets        complex object from its representing
                                                                 clients treat individual objects and          so that the same construction
                                                                 compositions of objects uniformly.            process can create different                                                                     ConcreteBuilder
                                         Composite                                                             representations.
        Leaf                                                                                                                                                                                                  +buildPart()
                                 +operation()                                                                                                                                                                 +getResult()
 +operation()                    +add(in c : Composite)
                                 +remove(in c : Composite)
                                 +getChild(in i : int)


     «interface»
     Component
                                      ConcreteComponent          Decorator                                      Factory Method                                         «interface»                                          Creator
  +operation()                        +operation()                                                                                                                       Product                                    +factoryMethod()
                                                                 Type: Structural                               Type: Creational
                                                                                                                                                                                                                    +anOperation()
                                          Decorator              What it is:                                    What it is:
                                                                 Attach additional responsibilities to an       Define an interface for creating an
                                      +operation()               object dynamically. Provide a flexible         object, but let subclasses decide which
                                                                 alternative to sub-classing for extending      class to instantiate. Lets a class defer
                                                                 functionality.                                 instantiation to subclasses.
             ConcreteDecorator
                                                                                                                                                                                                                     ConcreteCreator
             -addedState                                                                                                                                          ConcreteProduct
                                                                                                                                                                                                                    +factoryMethod()
             +operation()
             +addedBehavior()



                                                                                                                                                                  Client
                           Facade                                Facade                                         Prototype
                                           Complex system
                                                                 Type: Structural                               Type: Creational                                                                 «interface»
                                                                                                                                                                                                 Prototype
                                                                 What it is:                                    What it is:                                                                +clone()
                                                                 Provide a unified interface to a set of        Specify the kinds of objects to create
                                                                 interfaces in a subsystem. Defines a high-     using a prototypical instance, and
                                                                 level interface that makes the subsystem       create new objects by copying this
                                                                 easier to use.                                 prototype.

                                                                                                                                                                ConcretePrototype1                                 ConcretePrototype2
                                                                                                                                                               +clone()                                           +clone()




                                          «interface»
 FlyweightFactory
                                           Flyweight
+getFlyweight(in key)            +operation(in extrinsicState)
                                                                 Flyweight                                     Singleton
                                                                                                                                                                                                   Singleton
                                                                 Type: Structural                              Type: Creational
                                                                                                                                                                                          -static uniqueInstance
       Client                                                                                                  What it is:
                                                                 What it is:                                                                                                              -singletonData
                                                                 Use sharing to support large numbers of       Ensure a class only has one instance and                                   +static instance()
                                                                 fine grained objects efficiently.             provide a global point of access to it.                                    +SingletonOperation()
              ConcreteFlyweight
         -intrinsicState
                                             UnsharedConcreteFlyweight
         +operation(in extrinsicState)
                                            -allState

                                            +operation(in extrinsicState)                                     Copyright © 2007 Jason S. McDonald      Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John (1995). Design Patterns: Elements of
                                                                                                              http://www.McDonaldLand.info                Reusable Object-Oriented Software. Reading, Massachusetts: Addison Wesley Longman, Inc..

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (12)

StyleCop avec visual studio 2010
StyleCop avec visual studio 2010StyleCop avec visual studio 2010
StyleCop avec visual studio 2010
 
Tutoriel ajax jquery
Tutoriel ajax jqueryTutoriel ajax jquery
Tutoriel ajax jquery
 
Novencia agile
Novencia agileNovencia agile
Novencia agile
 
Visual studio
Visual studioVisual studio
Visual studio
 
Mif
MifMif
Mif
 
Débugger un service wcf avec wcf testclient
Débugger un service wcf avec wcf testclientDébugger un service wcf avec wcf testclient
Débugger un service wcf avec wcf testclient
 
Quelle juste valeur
Quelle juste valeurQuelle juste valeur
Quelle juste valeur
 
Qualité de code, sonar, la dette
Qualité de code, sonar, la detteQualité de code, sonar, la dette
Qualité de code, sonar, la dette
 
Sonar
Sonar Sonar
Sonar
 
Affacturage
AffacturageAffacturage
Affacturage
 
Présentation des marché de capitaux
Présentation des marché de capitauxPrésentation des marché de capitaux
Présentation des marché de capitaux
 
Agences de Notation et de Rating
Agences de Notation et de RatingAgences de Notation et de Rating
Agences de Notation et de Rating
 

Mehr von Novencia Groupe

Datalake de l'idée à la plateforme
Datalake de l'idée à la plateformeDatalake de l'idée à la plateforme
Datalake de l'idée à la plateformeNovencia Groupe
 
Ambient intelligence & bigdata
Ambient intelligence & bigdataAmbient intelligence & bigdata
Ambient intelligence & bigdataNovencia Groupe
 
Workshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance uniqueWorkshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance uniqueNovencia Groupe
 
Workshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOURWorkshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOURNovencia Groupe
 
L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2Novencia Groupe
 
L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2Novencia Groupe
 
Les Acronymes financiers de 2014
Les Acronymes financiers de 2014Les Acronymes financiers de 2014
Les Acronymes financiers de 2014Novencia Groupe
 
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...Novencia Groupe
 
Nouveautés disponibles dans asp
Nouveautés disponibles dans aspNouveautés disponibles dans asp
Nouveautés disponibles dans aspNovencia Groupe
 
Les 3 modes de concurrence wcf
Les 3 modes de concurrence wcfLes 3 modes de concurrence wcf
Les 3 modes de concurrence wcfNovencia Groupe
 
Introduction à la finance de marché
Introduction à la finance de marchéIntroduction à la finance de marché
Introduction à la finance de marchéNovencia Groupe
 
Utilisation d'une api web avec asp
Utilisation d'une api web avec aspUtilisation d'une api web avec asp
Utilisation d'une api web avec aspNovencia Groupe
 
Déployer une application directement depuis visual studio 2010
Déployer une application directement depuis visual studio 2010Déployer une application directement depuis visual studio 2010
Déployer une application directement depuis visual studio 2010Novencia Groupe
 
Mécanisme de planification de tâches
Mécanisme de planification de tâchesMécanisme de planification de tâches
Mécanisme de planification de tâchesNovencia Groupe
 
Création d’un service wcf
Création d’un service wcfCréation d’un service wcf
Création d’un service wcfNovencia Groupe
 
Configurer ldaps sur un dc (avec une
Configurer ldaps sur un dc (avec uneConfigurer ldaps sur un dc (avec une
Configurer ldaps sur un dc (avec uneNovencia Groupe
 

Mehr von Novencia Groupe (20)

Datalake de l'idée à la plateforme
Datalake de l'idée à la plateformeDatalake de l'idée à la plateforme
Datalake de l'idée à la plateforme
 
Ambient intelligence & bigdata
Ambient intelligence & bigdataAmbient intelligence & bigdata
Ambient intelligence & bigdata
 
Workshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance uniqueWorkshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance unique
 
Workshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOURWorkshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOUR
 
L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2
 
L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2
 
Les Acronymes financiers de 2014
Les Acronymes financiers de 2014Les Acronymes financiers de 2014
Les Acronymes financiers de 2014
 
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
 
Mobile development
Mobile developmentMobile development
Mobile development
 
Nouveautés disponibles dans asp
Nouveautés disponibles dans aspNouveautés disponibles dans asp
Nouveautés disponibles dans asp
 
La crise de l'euro
La crise de l'euroLa crise de l'euro
La crise de l'euro
 
Les 3 modes de concurrence wcf
Les 3 modes de concurrence wcfLes 3 modes de concurrence wcf
Les 3 modes de concurrence wcf
 
Introduction à la finance de marché
Introduction à la finance de marchéIntroduction à la finance de marché
Introduction à la finance de marché
 
Utilisation d'une api web avec asp
Utilisation d'une api web avec aspUtilisation d'une api web avec asp
Utilisation d'une api web avec asp
 
Déployer une application directement depuis visual studio 2010
Déployer une application directement depuis visual studio 2010Déployer une application directement depuis visual studio 2010
Déployer une application directement depuis visual studio 2010
 
Mécanisme de planification de tâches
Mécanisme de planification de tâchesMécanisme de planification de tâches
Mécanisme de planification de tâches
 
Création d’un service wcf
Création d’un service wcfCréation d’un service wcf
Création d’un service wcf
 
Configurer ldaps sur un dc (avec une
Configurer ldaps sur un dc (avec uneConfigurer ldaps sur un dc (avec une
Configurer ldaps sur un dc (avec une
 
Sécurisation des wcf
Sécurisation des wcfSécurisation des wcf
Sécurisation des wcf
 
Linq to Xml
Linq to Xml Linq to Xml
Linq to Xml
 

Kürzlich hochgeladen

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Designpatternscard

  • 1. C Abstract Factory S Facade S Proxy Memento Memento S Adapter C Factory Method B Observer Caretaker -state Type: Behavioral S Bridge S Flyweight C Singleton What it is: C Builder B Interpreter B State Without violating encapsulation, capture and externalize an object's internal state B Strategy so that the object can be restored to this B Chain of Responsibility B Iterator Originator state later. B Command B Mediator B Template Method -state B Visitor +setMemento(in m : Memento) S Composite B Memento +createMemento() S Decorator C Prototype «interface» notifies «interface» successor Chain of Responsibility Observer Subject «interface» Handler Observer Client +attach(in o : Observer) +handleRequest() Type: Behavioral Type: Behavioral +detach(in o : Observer) +update() +notify() What it is: What it is: Avoid coupling the sender of a request to Define a one-to-many dependency between its receiver by giving more than one object objects so that when one object changes a chance to handle the request. Chain the state, all its dependents are notified and receiving objects and pass the request updated automatically. along the chain until an object handles it. ConcreteSubject observes ConcreteObserver ConcreteHandler1 ConcreteHandler2 -subjectState -observerState +handleRequest() +handleRequest() +update() Client Invoker Command State Context +request() Type: Behavioral Type: Behavioral «interface» State ConcreteCommand What it is: What it is: +handle() +execute() Encapsulate a request as an object, Allow an object to alter its behavior when thereby letting you parameterize clients its internal state changes. The object will with different requests, queue or log appear to change its class. requests, and support undoable operations. Command Receiver +execute() ConcreteState1 ConcreteState2 +action() +handle() +handle() Client Interpreter Strategy Context Type: Behavioral «interface» Type: Behavioral Strategy «interface» What it is: Context AbstractExpression +execute() What it is: Define a family of algorithms, +interpret() Given a language, define a representation encapsulate each one, and make them for its grammar along with an interpreter interchangeable. Lets the algorithm vary that uses the representation to interpret independently from sentences in the language. clients that use it. ConcreteStrategyA ConcreteStrategyB TerminalExpression NonterminalExpression +execute() +execute() +interpret() : Context +interpret() : Context Client Iterator Template Method AbstractClass Type: Behavioral Type: Behavioral +templateMethod() «interface» «interface» #subMethod() Aggregate Iterator What it is: What it is: +createIterator() +next() Provide a way to access the elements of Define the skeleton of an algorithm in an an aggregate object sequentially without operation, deferring some steps to subclasses. exposing its underlying representation. Lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure. ConcreteClass ConcreteAggregate ConcreteIterator +subMethod() +createIterator() : Context +next() : Context «interface» informs «interface» Mediator Visitor Visitor Client Mediator +visitElementA(in a : ConcreteElementA) Colleague Type: Behavioral Type: Behavioral +visitElementB(in b : ConcreteElementB) What it is: What it is: «interface» Represent an operation to be Define an object that encapsulates how a Element performed on the elements of an ConcreteVisitor set of objects interact. Promotes loose +accept(in v : Visitor) object structure. Lets you define a coupling by keeping objects from referring new operation without changing +visitElementA(in a : ConcreteElementA) updates to each other explicitly and it lets you vary the classes of the elements on +visitElementB(in b : ConcreteElementB) their interactions independently. ConcreteMediator ConcreteColleague which it operates. ConcreteElementA ConcreteElementB +accept(in v : Visitor) Copyright © 2007 Jason S. McDonald Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John (1995). Design Patterns: Elements of +accept(in v : Visitor) http://www.McDonaldLand.info Reusable Object-Oriented Software. Reading, Massachusetts: Addison Wesley Longman, Inc..
  • 2. «interface» Adapter Adapter Proxy Client Client +operation() Type: Structural Type: Structural «interface» What it is: What it is: Subject Convert the interface of a class into Provide a surrogate or placeholder for +request() another interface clients expect. Lets another object to control access to it. ConcreteAdapter classes work together that couldn't Adaptee otherwise because of incompatible -adaptee interfaces. +adaptedOperation() represents +operation() RealSubject Proxy +request() +request() Abstraction Client Bridge Abstract Factory +operation() «interface» «interface» Type: Structural Type: Creational AbstractFactory Implementor +createProductA() «interface» +operationImpl() What it is: What it is: +createProductB() AbstractProduct Decouple an abstraction from its Provides an interface for creating implementation so that the two can vary families of related or dependent independently. objects without specifying their concrete class. ConcreteFactory ConcreteImplementorA ConcreteImplementorB ConcreteProduct +createProductA() +operationImpl() +operationImpl() +createProductB() «interface» «interface» Component Composite Builder Director Builder +operation() children Type: Structural Type: Creational +construct() +buildPart() +add(in c : Composite) +remove(in c : Composite) +getChild(in i : int) What it is: What it is: Compose objects into tree structures to Separate the construction of a represent part-whole hierarchies. Lets complex object from its representing clients treat individual objects and so that the same construction compositions of objects uniformly. process can create different ConcreteBuilder Composite representations. Leaf +buildPart() +operation() +getResult() +operation() +add(in c : Composite) +remove(in c : Composite) +getChild(in i : int) «interface» Component ConcreteComponent Decorator Factory Method «interface» Creator +operation() +operation() Product +factoryMethod() Type: Structural Type: Creational +anOperation() Decorator What it is: What it is: Attach additional responsibilities to an Define an interface for creating an +operation() object dynamically. Provide a flexible object, but let subclasses decide which alternative to sub-classing for extending class to instantiate. Lets a class defer functionality. instantiation to subclasses. ConcreteDecorator ConcreteCreator -addedState ConcreteProduct +factoryMethod() +operation() +addedBehavior() Client Facade Facade Prototype Complex system Type: Structural Type: Creational «interface» Prototype What it is: What it is: +clone() Provide a unified interface to a set of Specify the kinds of objects to create interfaces in a subsystem. Defines a high- using a prototypical instance, and level interface that makes the subsystem create new objects by copying this easier to use. prototype. ConcretePrototype1 ConcretePrototype2 +clone() +clone() «interface» FlyweightFactory Flyweight +getFlyweight(in key) +operation(in extrinsicState) Flyweight Singleton Singleton Type: Structural Type: Creational -static uniqueInstance Client What it is: What it is: -singletonData Use sharing to support large numbers of Ensure a class only has one instance and +static instance() fine grained objects efficiently. provide a global point of access to it. +SingletonOperation() ConcreteFlyweight -intrinsicState UnsharedConcreteFlyweight +operation(in extrinsicState) -allState +operation(in extrinsicState) Copyright © 2007 Jason S. McDonald Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John (1995). Design Patterns: Elements of http://www.McDonaldLand.info Reusable Object-Oriented Software. Reading, Massachusetts: Addison Wesley Longman, Inc..