The template method design pattern

Sometimes when we implement some algorithm or a family of algorithms, we define a common skeleton. Then later, the different implementations deal with the specifics of each method in the skeleton. The template method design pattern allows us to achieve what we mentioned previously.

The purpose of the template method design pattern is to defer algorithm steps to subclasses using template methods.

The template method design pattern seems really natural to object-oriented programming. Whenever polymorphism is used, this actually represents the design pattern itself. Usually, the template method is implemented using abstract methods.

Get Scala Design Patterns - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.