the ultimate design pattern

3 4 5 6 7