Jelenlegi hely

25.3. Viselkedési minták

A viselkedési minták (a szerkezeti mintákkal szemben) nem az állandó kapcsolatra, hanem az objektumok közötti kommunikációra adnak hatékony megoldást.

A Megfigyelő (Observer) minta célja, hogy egy objektum állapotváltozásainak figyelését lehetővé tegye tetszőleges más objektumok számára. A figyelő pozícióba feliratkozással juthatunk, de a leiratkozás is bármikor megejthető.

A Közvetítő (Mediator) minta célja, hogy két – egymással kommunikálni képtelen osztály között közvetítő szerepet töltsön be. Érdekesség, hogy a két közvetve kommunikáló osztálynak semmit sem kell egymásról tudnia.

A Felelősséglánc (Chain of Responsibility) minta az objektumok közül megkeresi a felelőst. Egyszerű példaként el lehet képzelni egy böngésző alkalmazás ablakát, ahol a felület tulajdonképpen többszörösen egymásba ágyazott komponensek segítségével épül fel. Egy egérkattintás esetén a főablak-objektumból kiindulva (a vizuális tartalmazás mentén) egyre pontosabban meg tudjuk határozni, hogy a kattintás melyik doboz, melyik bekezdés, melyik űrlap, melyik űrlap-elem stb. területén történt.

A Stratégia (Strategy) minta egy algoritmust egy osztályba zár. Így az algoritmus későbbi leváltása csak az ős egy másik leszármazottját fogja igényelni.

Végül a Bejáró (Iterator) minta már ismerős lehet a Java Iterator interfésze miatt: feladata a bejárás biztosítása pl. tároló objektumokon.