Gof Patterns Overview
GOF(Gang Of Four) patterns are commonly used reusable object oriented programming patterns while developing highly maintainable and reusable software.
GOF patterns can be categorized into creational patterns, structural patterns and behavioral patterns. Most of the patterns follow object-oriented principles and SOLID principles.
Creational Patterns
Creational patterns deal with object creation. Frequently used creational patterns are
Abstract Factory Pattern
Builder Pattern
Object Pool Pattern
Structural Patterns
Structural patterns deal with complex structures creation by making use of relations between objects and classes. Many structural patterns are based on Inheritance and Polymorphism. Most commonly used structural patterns are
Adapter Pattern
Proxy Pattern
Bridge Pattern
Decorator Pattern
Composite Pattern
Facade Pattern
Flyweight Pattern
There are other structural patterns but not commonly discussed with GOF pattern. Following are few
Marker Interface
Module
Marker Interface
Marker interface is an empty interface to mark specific classes (such as Cloneable
and Serializable
). Marker interface makes search by interface possible.
Module
In software development classes are grouped together to implement an application feature or concept to form a module. Modular architecture contains multiple patterns like MVC, MVVM, etc.
Behavioral Patterns
Behavioral patterns deal with object interaction, communication and control flows. Most behavioral patterns are based on composition and delegation rather than inheritance. Frequently used behavioral design patterns are
Chain of Responsibility Pattern
Command Pattern
Interpreter Pattern
Iterator Pattern
Observer Pattern
Mediator Pattern
Memento Pattern
State Pattern
Strategy Pattern
Template Method Pattern
Null Object Pattern
Visitor Pattern