Object Oriented Programming Lecture 7: Algorithm animation using strategy and factory patterns, The Adapter design pattern .