jpaek.com/design_patterns

I first came across the "design pattern" term while taking an advanced Java course. While working on some I18N implementation strategies it covered a few topics, one of them being the Singleton pattern and the first one I learned. My plan here is to publish on each of the patterns as a "draft" and refine the material over time once I have some content written for each of the patterns as a starting point.


Abstract Factory

March 22, 2023

The abstract factory pattern helps to create families of related objects through the use of individual factories. The key insight is understanding what is meant here by "families of related objects". Outline Create an abstract factory and abstract…

Composition Over Inheritance

March 22, 2023

The Gang of Four [1] advocates favoring "composition over inheritance". An outline of this concept in provided below as a refresher. Outline Favor "object composition" over "class inheritence". Instead of inheriting from a parent class consider…

23 Design Patterns

Design pattern are useful if you can recognize a problem fitting to the ones written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. They are commonly known as the "Gang Of Four" ("GoF" in literature). They popularized a book titled "Design Patterns: Elements of Reusable Object-Oriented Software" in 1994.

So, here are the 23 design patterns introduced which were organized into the following 3 categories.

Categories

Creational Patterns
  • Abstract Factory
  • Builder
  • Factory Method
  • Prototype
  • Singleton
Structural Patterns
  • Adapater
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy
Behavorial Patterns
  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor
Additional Topics
  • Favor Composition Over Inheritance