$KK(Zusammenfassung der Vorteile für die Patterns) $R(Objective) Match design patterns with statements describing potential benefits that accrue from the use of the pattern, for any of the following patterns: Intercepting Filter, Model-View-Controller, Front Controller, Service Locator, Business Delegate, and Transfer Object. $R\ Interception Filter # Pre- und Postprocessing # Zentrale Kontrolle für eine bestimmte Erweiterung # Erhöht Wiederverwendbarkeit durch lose Kopplung der Filter # Deklerative und Flexible Konfiguration Nachteil: *Es ist ineffizient, für alle Filter gemeinsame Informationen zu speichern. Model View Controller # Einfach neue Clienten zu verwenden # Trennung Interaktion, Präsentation, und Geschäftsobjekte # Möglichkeit von mehreren Präsentationen Nachteil: * höherer Designaufwand Front Controller # Zentrale Kontrolle über Bildschirmablauflogik # Verbessertes Sicherheitsmamanagement # Erhöht Wiederverwendung Service Locator # Kapselt Komplexität zum Auffinden von Diensten # Bietet Clienten einfaches und einheitliches Interface zum Zugriff auf Dienste # Erhöht Performanz des Clienten duch Cachen der Ergebnisses oder bündeln der Suchanfragen. # Verringert Netzwerkbelastung # Vereinfacht neue Dienste hinzuzufügen Business Delegate # Geringere Kopplung von Präsentationsschicht und Geschäftslogikschicht # Entkoppelt Clienten von API der Business Objekte # Zugriff auf Business Objekte ist gekapselt # Implementiert Fehlererkennung und Threadsynchronisation # Verringert Netzwerkbelastung, durch Möglichkeit des Cachens. # Client seitige Fassade Nachteil: Es wird eine neue Ebene zwischen Client und Serverzugriff hinzugefügt Transfer Object # Verringert Netzwerkbelastung # Reduziert Kommunikation über das Netz # Verbessert Performance bei Anfragen Nachteile: # Möglichkeit veraltete Daten zu bekommen # Höherer Aufwand zur Synchronisation und Versionskontrolle # Durch Nebenläufigkeit können die Transferdaten in einen inkonsistenten Zustand kommen.