Below are the main differences between these two design patterns: -
Template Design pattern
Defines outline for algorithms and allows sub class to override some steps.
Efficient in terms of less redundant code.
Depends on super class for methods.
Strategy Design pattern
Uses object composition to provide variety of algorithm implementation.
Flexible in terms of allowing users to change algorithm at run time.
All the algorithms can be itself implemented.
Asked In: Many Interviews |