Glossary of Java Design Patterns and Architecture Terms

Review the core Java and design-pattern terms used throughout this guide, with concise definitions that emphasize engineering meaning over textbook phrasing.

On this page

This glossary focuses on the terms that matter most when reading Java pattern discussions. The goal is not to be encyclopedic. It is to keep recurring concepts sharp and consistent.

Core Terms

  • Abstraction: A way to expose the important behavior of a type or subsystem while hiding unnecessary implementation detail.
  • Adapter: A pattern that reshapes one interface into another so existing code can collaborate without invasive rewrites.
  • Aggregate: In domain-driven design, a cluster of related objects treated as one consistency boundary.
  • Builder: A creation pattern used when object construction has optional configuration, staged validation, or many parameters.
  • Composition over inheritance: A design preference for combining behavior through contained collaborators rather than building deep class hierarchies.
  • Concurrency: Multiple units of work making progress during overlapping periods of time, whether or not they execute in parallel.
  • DTO (Data Transfer Object): A data shape designed for a boundary such as an API, message, or integration contract.
  • Encapsulation: Keeping state and the rules that govern it together behind a controlled interface.
  • Factory: A creation boundary that decides which concrete object or configured variant to return.
  • Flyweight: A pattern that shares intrinsic state to reduce duplication across many logical objects.
  • Idempotency: A property where repeating an operation has the same effect as performing it once.
  • Immutability: A design where an object’s state does not change after construction.
  • Lazy initialization: Delaying construction or work until the value is actually needed.
  • Mapper: Code that translates one object shape into another, often between domain models and DTOs.
  • Proxy: A stand-in object that controls access to another object for reasons such as laziness, remoting, security, or caching.
  • Repository: A domain-facing persistence abstraction that gives access to aggregates or entities without exposing low-level storage details.
  • Service Locator: A central lookup object that returns collaborators on demand, often at the cost of hiding dependencies.
  • Strategy: A pattern that packages interchangeable behavior behind a stable calling contract.
  • Template Method: A pattern where a base class defines the algorithm skeleton and subclasses customize selected steps.
  • Value Object: A type whose identity is defined by its values and invariants rather than a database or object identity.

How To Use The Glossary

If two terms seem close, ask which question each one answers:

  • boundary terms answer where responsibility lives
  • creation terms answer how instances come into existence
  • behavior terms answer how variation is expressed
  • architecture terms answer how system parts are separated and coordinated

That distinction matters more than memorizing dictionary-style definitions.

Revised on Thursday, April 23, 2026