|
|
|
Ask HN: How did Django land on such abomination of MVC naming scheme?
|
|
2 points
by textread
599 days ago
|
|
I am not satisfied with their official explanation at https://docs.djangoproject.com/en/dev/faq/general/#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names Was there a legacy reason why they are trapped with MTV naming scheme? https://www.youtube.com/watch?v=OAVnOz7i-JA |
|
(I’d be afraid a young dev would have no idea this is possible without using React or Vue)
That generation of “MVC” systems stole the name of a very different UI coding paradigm from Smalltalk more than a decade ago. It is common for a web MVC system to be missing one of the letters which is not a problem because they work fine, it’s just they still call it MVC.
And what is a model anyway? The “anemic domain model” is the industry standard, whether it is a POJO in Java or
in JavaScript there is some piece of data describing a situation. It does not have to be an ‘object’ or adhere to any particular discipline because it can. In fact, there are disciplines around treating data as data in the abstract as opposed to a set of objects that provide affordances. SQL, Immutability, a defined set of operators such as “add a member to this list” which can be bound to events or sent over the wire or be done or not done on the digression of the system, etc.The “view” is usually well defined but the “controller” is the balance-of-system and doesn’t have to have any particular structure at all.