Graphical User Interface (GUI) ↩
There are various UI frameworks such as MFC (Microsoft Presentation Class), WPF (Windows Presentation Foundation)
, WinUI 3, etc.
WPF is a UI framework that is used for creating desktop client applications.
XAML is a declarative language that’s based on XML, used extensively to build UX.
Refer:
- WPF : Getting started with WPF
- XAML : XAML Tools Overview
GUI Design Patterns
Pros :
- Business logic is separated from UI. (Model <-> View)
- ViewModel and Model can be unit tested independant of the View, as the latter can be also be remodelled.
-
Design and development can go in parallel, and mostly independant of each other. Design-View ** ** Devs-viewModel+Model.
Cons :
- Overkill for smaller apps.
- Complex data bindings are hard to debug.
Core principles
- Keep UI responsive.
- Access UI elements only on the UI thread.