Рет қаралды 2,013
Model-View-Controller (MVC) through the ages and in Django
by Nik Haldimann
pretalx.com/dj...
MVC is an architectural pattern with a 50-odd year history that also left an imprint on Django. Can its continuing relevance teach us something about fundamental software design principles?
Model-View-Controller (MVC) is a widely used architectural pattern. It helps us separate the representation of data (the model) from the presentation of that data (the view) and the communication between those two and a user (the controller). The pattern has a 50-odd year history in such disparate systems as Smalltalk (the 70s), Java Swing (the 90s) and - of course your favorite, Django (the noughties onwards).
How come such an ancient pattern is still relevant today? In this talk I will explain how MVC's prevalence points at some fundamental design principles in software engineering. I will also explore its various applications through history and how it left an imprint on Django. Yes, Django implements MVC, or at least something derived from it, even if it got some of the naming horribly, confusingly wrong. (A Django "view" might more accurately be called a controller.)
You will come away from this talk with a better understanding of some fundamental design principles in Django and how this can help you keep your code clean and extensible.
----------
Captions based on transcripts of original live captions, used with permission of the Reporter.
This transcript was provided as communication support for deaf and hard of hearing people. It should not be regarded as a fully checked and verified verbatim record; it has no legal standing. It should not be circulated or copied to other parties without the permission of the Reporter.
Original transcript by Speech to Text Reporter:
Andrew Howell