Knockout follows a publish/subscribe pattern to keep data in sync between different parts of the application, such as the UI and the viewmodel. The publisher in Knockout is the observable object. If you've used MVVM before in Windows Presentation Foundation (WPF) development, then observable objects can be thought of as Knockout's
To construct an observable, the
observable function is called on the global
this.property = ko.observable('default value');
observable function returns a new observable. If
ko.observable is called with a value, it returns an observable with that value.