Metodologia programowania WPF

Po 3 miesiącach programowania mojej aplikacji na WPF, zastanawiałem się nad sposobem, w jaki programuję moją aplikację (wiem, że może jest za późno). W mojej aplikacji używam API oprogramowania, którym zarządza moje narzędzie. Mam DAL zawierający 16 klas, 3 z nich to single. Mam trochę logiki w.cs pliki iXAMLjest poza kursem. Moje pytanie brzmi: widzę wiele komentarzy, że aplikacja napisana w WPF powinna używać MVVM, a to sprawi, że kod będzie bardziej użyteczny i czytelny, czy mogę przekształcić mój kod na MVVM? co to jest rzeczywiste znaczenie MVVM (nie Wikipedia lub ręczna definicja)?

Używam również zapytań SQL i czytam artykuł o EF (Entity Framework), czy MVVM i EF mogą współistnieć w tym samym projekcie?

Wiem, że moje pytanie jest nieco newbie pytanie (jestem nowicjuszem: P) i abstrakcyjne pytanie, ale chcę wiedzieć, że aplikacja, którą napiszę, będzie najlepsza, jaką mogę napisać w tej chwili :)

questionAnswers(4)

yourAnswerToTheQuestion