Model-View-Controller

an architectural pattern used to divide UIs into three parts, separating internal representation from presentation

Model-View-Controller image

Model-View-Controller on Wikipedia

In Python

Image Credit: Deltacen CC BY-SA 3.0], from Wikimedia Commons