Sahithyan's S2 — Program Construction
Behavioral Design Patterns
Deals with how different kinds of objects interact with each other.
Template Method Pattern
An algorithm is broken into steps. A superclass defines the methods, as abstract or not and a method to call the algorithm. Subclasses can override the required steps. Reduces duplication and forces a structure.