1.3. Introduction

1.3.1. Rationale

  • Structural - Relationships between objects

  • Behavioral - Communication and interaction between objects

  • Creational - Creating new objects

../_images/about-designpatterns-categories.png

1.3.2. Behavioral Design Patterns

Object patterns:

  • Chain of Responsibility (polish: Łańcuch zobowiązań)

  • Command (polish: Polecenie)

  • Interactor (polish: Interactor)

  • Mediator (polish: Mediator)

  • Memento (polish: Pamiątka)

  • Observer (polish: Obserwator)

  • State (polish: Stan)

  • Strategy (polish: Strategia)

  • Visitor (polish: Odwiedzający)

Class Patterns:

  • Interpreter (polish: Interpreter)

  • Template Method (polish: Metoda szablonowa)

1.3.3. Structural Design Patterns

Object:

  • Bridge (polish: Most)

  • Composite (polish: Kompozyt)

  • Decorator (polish: Dekorator)

  • Façade (polish: Fasada)

  • Flyweight (polish: Pyłek)

  • Proxy (polish: Pełnomocnik)

Class and Object Patterns:

  • Adapter (polish: Adapter)

1.3.4. Creational Design Patterns

Object Patterns:

  • Abstract Factory (polish: Fabryka Abstrakcyjna)

  • Builder (polish: Budowniczy)

  • Prototype (polish: Prototyp)

  • Singleton (polish: Singleton)

Class Patterns:

  • Factory Method (polish: Metoda wytwórcza)

1.3.5. Paradigm

  • EFAP (Easier to ask for forgiveness than permission)

  • Metaclasses

  • Borg

  • Mixin

1.3.6. Abusing Patterns

../_images/about-introduction-javaproblemfactory.jpg
../_images/about-goodpractices-programmer-exp.png