summarized the book of Pro Javascript Design Patterns
update