Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
How Frameworks Map to the Patterns: Is Angular MVC or MVVM? React, Blazor, WPF and ASP.NET Core
Angular is neither classic MVC nor pure MVVM: the component class carries view state and view logic like a ViewModel, the template binds to it, and signals derive the UI from state the way React does. We write and run the same order form with React, Blazor and Razor Pages as well, and show how to read frameworks with three questions (where does state live, how does it sync, can you test without the view) instead of labels.
MVVM and Presentation Model: Data Binding, Commands and the ViewModel
MVVM is Fowler's Presentation Model built on data binding: the ViewModel carries view state and view logic, binding keeps it in sync with the view, and user actions become commands with CanExecute. We write the order form's ViewModel in C# with the CommunityToolkit.Mvvm 8.4 source generators and in Angular 22 with signals, test both without a view, and look at binding's silent failures with real output.