design patterns in javascript

2 3 4 5 6