Introduction
Software design is what separates the amateur from the professional. Certain things are easier to do in certain ways. Those certain ways are known as Design Patterns and represent a distillation of the experience of many programmers. Time invested in learning Design Patterns always pays off.
Main source of Patterns is: http://c2.com/cgi/wiki?StartingPoints
Patterns related to GUI design
Model View Controller
Theory : http://c2.com/cgi/wiki?ModelViewController and http://mail.python.org/pipermail/python-list/2006-January/319314.html
Implementation in wxPython : ModelViewController
Model View Presenter
MVP is an evolution of MVC.
Theory : http://c2.com/cgi/wiki?ModelViewPresenter and http://www.martinfowler.com/eaaDev/ModelViewPresenter.html
Implementation in wxPython : ModelViewPresenter