In der Softwareentwicklung sind wiederkehrende Herausforderungen allgegenwärtig. Die Programmierer sollen Objekte auf eine besondere Art und Weise anlegen können, Objekte ineinander verschachteln oder beliebige Datenstrukturen Eintrags-basiert durchgehen. Diese Problemstellungen riefen Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides ("The Gang of Four") auf den Plan, kochrezeptmäßige Lösungen als Bausteine anzubieten, welche sie als Entwurfsmuster (im Englischen als "Design Patterns") bezeichneten. Diese gliedern sich in: - Erzeugungsmuster (creational patterns) - Strukturelle Muster (structural patterns) - Verhaltensmuster (Behavioural Patterns) Die Entwurfsmuster als Programmier-Standards fördern Codeverständnis und Wiederverwendbarkeit. Im Unterricht behandeln wir einige wichtige Vertreter zu jeder Kategorie.