4 ms·
If you have to deliberate on a design pattern on this abstract and dogmatic level, it is unlikely to be making you more productive. The most useful principle t
by extension 16y ago
If you have to deliberate on a design pattern on this abstract and dogmatic level, it is unlikely to be making you more productive.
The most useful principle that comes with MVC is also the most straightforward and intuitive: decouple the core logic from the interface (user or otherwise).
The rest, like the enigmatic Controller, obviously has no common and consistent meaning among programmers. I suspect that the original meaning has been lost to reinterpretation over many generations of changing technology. But if the original meaning really matters to you that much, you are probably doing theology and not engineering.
- contextfree 16y agoI think M/V separation is the basic principle and elaborations beyond that are more context dependent, so the next level of generally applicable expertise beyond grasping the basic concept requires you to be familiar with a whole range of patterns and considerations for what the stuff in the middle should be.
- ezyang 16y agoWhen I do software engineering, I use architectural principles to make decisions for me. I don’t have to decide where the HTML rendering code will go because the Model-View principle has made it clear. Furthermore, I get annoyed when the architectural principle fails to give a me a decision, but I get the feeling that it should (the example I gave here was input validation, which I now believe soundly should live in the model). In this case, I can either make an ad hoc decision or think more carefully about the architectural principle. Both practices are valuable.