MVVM

Model - уся логіка

View - інтерфейс користувача

ViewModel - клас прошарок між Model і View, 

                   чиї властивості відображають стан інтерфейсу користувача

MVVM потребує data binding (прив'язку даних)

Створюємо три папки і перекидаємо вікно у Views

Або: Model, ViewModel, View

Інтерфейси: 

INotifyPropertyChanged - для не колекцій

Приклад 1