Template Method
Create an abstract class that implements a procedure using abstract methods. These abstract methods must be implemented in derived classes to actually perform each step of the procedure.
Strategy
Have the class that uses the algorithm contain a reference to an interface (or abstract class) that has a method specifying a specific algorithm. Each implementation of the interface (or derived class) implements the algorithm as appropriate.
Solver
Review the Template Method and Strategy Patterns in the context of a simple problem.
XTend
Xtend is a good representative of a language exhibiting more modern approach to typing. We review it here and discuss its main features.
Lambda Solver
Explore the same problem in Xtend. In particular, review how the Xtend 'lambdas' mechanism can simplify the solution significantly.
Lab-02
Review the Java variants of the template method and strategy patterns. Reoode these in Xtend. Reimplement Strategy using Lambdas in Xtend