1.
Creational Design Patterns
• Purpose: Deal with object creation mechanisms, optimizing the process of
instantiation and ensuring flexibility in creating objects.
• Examples:
o Singleton
o Factory Method
o Abstract Factory
o Builder
o Prototype
2. Structural Design Patterns
• Purpose: Focus on object composition and structure to simplify relationships
between entities, making systems easier to design and understand.
• Examples:
o Adapter
o Bridge
o Composite
o Decorator
o Facade
o Flyweight
o Proxy
3. Behavioral Design Patterns
• Purpose: Concerned with communication and interaction between objects,
defining how they collaborate and responsibilities are distributed.
• Examples:
o Chain of Responsibility
o Command
o Interpreter
o Iterator
o Mediator
o Memento
o Observer
o State
o Strategy
o Template Method
o Visitor
4. J2EE Design Patterns (Optional Fourth Category)
Some developers consider a fourth category specifically for J2EE (Jakarta EE) Design
Patterns, which address enterprise application design challenges such as
presentation, business logic, and integration.
• Examples:
o MVC (Model-View-Controller)
o Business Delegate
o Service Locator
o DAO (Data Access Object)
o DTO (Data Transfer Object)
o Intercepting Filter