JavaScript Design Patterns You Need to Know | Brian Riant