20 Jahre Erfahrung FreeCall 0800 tutegos

Enterprise Java

Hinweis: Fowler hat die Pattern von seiner Webseite entfernt.

Eliminiere Kommunikation zwischen Entity-Beans (Eliminate Inter-Entity Bean Communication

Beziehungen zwischen Entity-Beans sind Overhead für das Model.

Entferne oder reduziere die Beziehungen zwischen Entity-Beans durch eine grobkörnige Entity-Beans (Composite Entity), die die abhängigen Objekte verwaltet.

Für weitere Informationen siehe Seite 110 in Core J2EE Patterns by Alur, Crupi, and Malks.

Session-Beans zusammenführen (Merge Session Beans)

Erzeuge eine 1:1-Beziehung zwischen Session-Beans und Entity-Beans.

Bilde grobkörnige Geschäftslogik auf Session-Beans ab. Beseitige (oder kombiniere) Session-Beans, die ausschließlich Stellvertreter für Entity-Beans sind und schaffe Session-Beans, die grobkörnig Geschäftslogik abbilden.

Weitere Informationen auf Seite 106 in Core J2EE Patterns by Alur, Crupi, and Malks.

Ummantele Entity-Beans durch Session-Beans (Wrap entities with session)

Entity-Beans von der mittleren Schicht sind für Clients in anderen Schichten sichtbar.

Kapsele die Entity-Beans durch eine Session-Fassade.

Für weitere Informationen siehe Seite 104 in Core J2EE Patterns by Alur, Crupi, and Malks.

Nutze einen Connection-Pool (Use a Connection Pool)

Datenbankverbindungen werden nicht geteilt. Stattdessen bauen Clients ihre Datenbankverbindungen selbst auf und verwalten sie.

Nutze einen Verbindungs-Pool mit mehreren vorinitialisierten Verbindungen um die Skalierbarkeit und Geschwindigkeit zu optimieren.

Für weitere Informationen siehe Seite 119 aus Core J2EE Patterns by Alur, Crupi, and Malks.

Trenne Datenzugriffscode (Separate Data Access Code)

Datenzugriffscode ist eng mit einer Klasse verbunden, die noch andere Verantwortlichkeiten hat.

Lagere den Zugriffscode in einer neuen Klasse aus und bewege die neue Klasse logisch und/oder physisch näher zur Datenquelle.

Für weitere Informationen siehe Seite 113 von Core J2EE Patterns by Alur, Crupi, and Malks.

Geschäftslogik in Session-Beans legen (Move Business Logic to Session)

Beziehungen zwischen Entity-Beans bringen zusätzlichen Overhead in das Modell.

Lege den Ablauf durch die Beziehungen der Entitiy-Beans in eine Session-Bean (Session Facade).

Weitere Informationen auf Seite 112 in Core J2EE Patterns by Alur, Crupi, and Malks.

Business-Delegate einführen (Introduce Business Delegate)

Session-Beans in der Business-Tier sind für Clients der anderen Schichten sichtbar.

Nutze ein Business-Delegate zur Entkopplung und zum Verbergen der Implementierungs-Details.

Weitere Informationen auf Seite 106 in Core J2EE Patterns by Alur, Crupi, and Malks.

Controller einführen (Introduce A Controller)

Kontrolllogik verstreut sich in der Applikation, üblicherweise in verschiedene JavaServer Pages (JSP).

Extrahiere die Kontrolllogik in eine oder mehrere Controller-Klasse, die als zentralen Einstiegspunkt für die Anfragen des Clients dienen.

Für weitere Informationen siehe Seite 74 in Core J2EE Patterns by Alur, Crupi, and Malks.

Ungleiche Logik lokalisieren (Localize Disparate Logic)

Geschäftslogik und Präsentationscode sind in der JSP vermischt.

Setze die Geschäftslogik in ein oder mehrere Hilfsklassen, die von der JSP oder Controller verwendet werden.

Für weitere Informationen siehe Seite 83 von Core J2EE Patterns by Alur, Crupi, and Malks.