Great article - thanks for writing it!

One thing to mention: the controller also has to handle any errors it encounters while fetching the models or building the view. In turn, it needs to redirect or 404 when an error occurs.

Also worth mentioning - these definitions are flexible. Not everyone agrees that the View controls presentation. One notable exception: the popular Django web framework: https://docs.djangoproject.com/en/dev/faq/general/#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store