Java Omnibus
OOAD Architecture GoF Patterns J2EE Patterns

OOAD & Architecture gives JavaOmnibus a design lens, not just a version lens.

This section complements the Java language, JLS, JVM, and JDK pages by focusing on how we shape systems: responsibilities, boundaries, layers, design patterns, enterprise patterns, and the practical choices that make Java systems easier to understand and evolve.

Why it matters Bridge code and architecture

Use OOAD to connect low-level class design with higher-level system boundaries and long-term maintainability.

Pattern literacy Know what problem a pattern solves

Patterns are most useful when they are tied to clear tradeoffs, not memorized as a catalog of names.

Java focus Examples stay close to real Java work

The examples here use Java-style services, repositories, controllers, and domain boundaries rather than abstract pseudocode.

Core concepts

Start with OOAD concepts and architecture principles

Before pattern catalogs, it helps to ground the design work in responsibility assignment, cohesion, coupling, layered boundaries, dependency direction, and the difference between analysis and design.

Pattern catalog

Gang of Four patterns

These pages focus on the intent behind each pattern, where it fits, what tradeoffs it brings, and how a Java implementation can look in practice.

GoF category

Creational

5 patterns
GoF category

Structural

7 patterns
GoF category

Behavioral

11 patterns
Enterprise patterns

J2EE patterns

These patterns lean toward presentation flow, business-service coordination, integration boundaries, and classic enterprise Java structuring decisions that still influence modern systems.

J2EE category

Presentation

7 patterns
J2EE category

Business

3 patterns
J2EE category

Integration

7 patterns