Beim Design Pattern Delegation werden Aufgaben eines Objektes an ein anderes Objekt (bzw. Objekte) zur Bearbeitung weitergeleitet (delegiert). Durch Delegation kann Vererbung vermieden und eine saubere, einfache Quelltextstruktur ereicht werden.
Der Einsatz des Entwurfsmusters Dependency Injection soll die Abhängigkeit zwischen Objekten minimieren.
Ein Dispatcher nimmt Aufgaben entgegen und bestimmt wer diese Aufgabe übernimmt bzw. abarbeitet.
Ein Interface (Schnittstelle) ist die Definition der
Kommunikationsgrenze zwischen einem Diensanbieter und einem Dienstabnehmer.
In der Programmierung defineirt eine Schnittstellte Methoden, die eine
implentierende Klasse enthalten muss, um als Typ dieser Schnittstelle zu gelten.
Unter Immutable werden Objekte / Objektkompositionen verstanden, die nach ihrer Erzeugung nicht mehr verändert werden können.
Das implementieren eines Marker Interfaces zeigt, dass die Klasse (bzw. deren Objekte) für eine bestimmte Verwendung geeignet ist. Das Marker Interface gibt keine zu implementierenden Methoden vor, auch werden keine Konstanten definiert.
Der Datenzugriff innerhalb einer Domäne wird mit Hilfe eines Repositories gekappselt. So werden z.B. Datenbankzugriffe von einer zentralen Stelle, die speziell für diese Aufgabe geschaffen wird, verwaltet. Ein über die Anwendung verteilter Zugriff auf die Datebank wird mit Hilfe eines Respositories verhindert.
Ein Scheduler nimmt Aufgaben entgegen und übernimmt das Managment der zeitlichen abarbeitung der Aufgaben.