The template method pattern is a behavioral design pattern that defines the program skeleton of an algorithm in an operation, deferring some steps to subclasses.
2. Hello !
I am Neha Suwal
http://jyaasa.comCopyright 2016. Jyaasa Technologies.
Associate Software Engineer
Jyaasa Technologies
3. http://jyaasa.comCopyright 2016. Jyaasa Technologies.
Gang of Four Definition:
“Define a skeleton of an algorithm in an operation,
deferring some steps to subclasses. It lets subclasses
redefine certain steps of an algorithm without changing its
subclasses.”
Template Method
4. http://jyaasa.comCopyright 2016. Jyaasa Technologies.
That means, instead of having a huge if/switch/ case statement
somewhere to control what happens, Template Method lets object itself
determine what happens by using a method that all siblings inherit but
implement in their own way.
What does that mean?
6. http://jyaasa.comCopyright 2016. Jyaasa Technologies.
● `template_method` calls `step_one` method, `step_two` method and
`step_three` method
● `step_two` is a hook method. I.e It is declared in base class and
then defined in subclasses
7. http://jyaasa.comCopyright 2016. Jyaasa Technologies.
Where to use?
● A class has more than one method that each contains an
if/switch/case statement with 3 or more possibilities.
● A class which has an if/switch/case statement that can have new
possibilities as conditions in the future.
10. http://jyaasa.comCopyright 2016. Jyaasa Technologies.
● No code duplication
● Since uses inheritance code is reused
● Lets subclasses decide how to implement steps in an algorithm.
Advantage