I could use any of the common frameworks to demonstrate how to use MVC but I feel that the picture will be incomplete. So I decided to show how to implement MVC from scratch, using a very simple example: a quote printer. The idea is extremely simple. The user enters a number and sees the quote related to that number. The quotes are stored in a quotes
tuple. This is the data that normally exists in a database, file, and so on, and only the model has direct access to it.
Let's consider the example in the following code:
quotes = ('A man is not complete until he is married. Then he is finished.', 'As I said before, I never repeat myself.', 'Behind a successful man is an exhausted woman.', 'Black holes really suck...', 'Facts are stubborn things.')
The model is minimalistic. It only has a get_quote()
method that returns the quote (string) of the quotes
tuple based on its index n
. Note that n
can be less than or equal to 0
, due to the way indexing works in Python. Improving this...