Really interesting topic. My current learning project is to develop the “choose your own story” game from the 2D course and, without realising it, I was implementing the “MVC” model. When I then upgraded the UI/Control from “check for button press in Update” to events triggered by buttons I started to move the code into MVP. This caused a mess (currently). However, this explanation of MVP has given me insight into how to do it profes…umm…less amateurishly.
My only critique is of the MVVM description. In my head I got “it’s very similar but it uses magic”. I’m guessing the relative brevity was due to it being out of scope for the course, so maybe that should be clarified. As in “for completeness, this is MVVM, but this is out of scope for the course, if interested find more out here…”.