MVVM & knockout.js
knockout.js helps you simplify dynamic JavaScript UIs using the Model-View-ViewModel (MVVM) pattern. http://learn.knockoutjs.com/#/?tutorial=intro This website is a set of interactive coding exercises to help you quickly learn how to benefit from knockout.js and MVVM.