MVVM architectural pattern is being used in WPF application mostly. It provides loose coupling, removes code behind concept, views are not aware of View model, and easy to maintain.