pydraw wxpython example application there are number of reasons why this separation is usefulreusability of application and/or user interface componentsability to develop the application and user interface separatelyability to inherit from different parts of the class hierarchy ability to define control style classes which provide common features separately from how these features may be displayed this means that different interfaces can be used with the same applicationwithout the application knowing about it it also means that any part of the system can be changed without affecting the operation of the other for examplethe way that the graphical interface (the lookdisplays the information could be changed without modifying the actual application or how input is handled (the feelindeed the application need not know what type of interface is currently connected to it at all pydraw mvc architecture the mvc structure of the pydraw application has top level controller class pydrawcontroller and top level view class the pydrawframe (there is no model as the top level mvc triad does not hold any explicit data itselfthis is shown belowat the next level down there is another mvc structurethis time for the drawing element of the application there is drawingcontrollerwith drawingmodel and drawingpanel (the viewas illustrated below