Recently, I worked on a web application with a micro frontend architecture. I was excited to see what this new codebase had in store.
At least for the time being, I'm sold on the hexagonal architectural pattern. It seems to provide smart guardrails as software grows in complexity.
When you consider Presenters first, you're forced to draw some of the boundary line between your application and its implementation before you start.
You can write inline C# in your XAML file with the x:Code Intrinsic type. But it might not be such a great idea.
As a C project grows, layer models become counter-productive. I've started using a different pattern modeled on Dependency Injection.
Ports and adapters prevent business logic from becoming coupled to other dependencies. They create little classes with well-defined pieces of functionality.