Wzorce behawioralne
Wzorce behawioralne dotyczą algorytmów i rozdzielania odpowiedzialności pomiędzy obiektami.
            Łańcuch zobowiązań
            Chain of Responsibility
        
        
Pozwala przekazywać żądania według łańcucha obiektów obsługujących. Otrzymawszy żądanie, każdy z obiektów obsługujących decyduje o zrealizowaniu żądania lub przekazaniu go do swojego następnika w łańcuchu.
            Polecenie
            Command
        
        
Zmienia żądanie w samodzielny obiekt zawierający wszystkie informacje o tym żądaniu. Taka transformacja pozwala na parametryzowanie metod przy przy użyciu różnych żądań. Oprócz tego umożliwia opóźnianie lub kolejkowanie wykonywania żądań oraz pozwala na cofanie operacji.
            Iterator
            Iterator
        
        
Pozwala przechodzić sekwencyjnie po elementach zbioru bez konieczności eksponowania jego formy (lista, stos, drzewo, itp.).
            Mediator
            Mediator
        
        
Pozwala zredukować chaos zależności pomiędzy obiektami. Wzorzec ogranicza bezpośrednią komunikację pomiędzy obiektami i zmusza je do współpracy wyłącznie za pośrednictwem obiektu mediatora.
            Pamiątka
            Memento
        
        
Pozwala zapisywać i przywracać wcześniejszy stan obiektu bez ujawniania szczegółów jego implementacji.
            Obserwator
            Observer
        
        
Pozwala zdefiniować mechanizm subskrypcji by powiadamiać wiele obiektów o zdarzeniach odbywających się w obserwowanym obiekcie.
            Stan
            State
        
        
Pozwala obiektowi zmienić swoje zachowanie gdy zmieni się jego wewnętrzny stan. Wygląda to tak, jakby obiekt zmienił swoją klasę.
            Strategia
            Strategy
        
        
Pozwala zdefiniować rodzinę algorytmów, umieścić je w osobnych klasach i uczynić obiekty tych klas wymienialnymi.
            Metoda szablonowa
            Template Method
        
        
Definiuje szkielet algorytmu w klasie bazowej, ale umożliwia podklasom nadpisanie poszczególnych etapów algorytmu bez konieczności zmiany jego struktury.
            Odwiedzający
            Visitor
        
        
Pozwala oddzielić algorytmy od obiektów na których pracują.