For what it&#x27;s worth, I think the maxim &quot;different kinds of code should be on different places&quot; is deeply wrong and perhaps the biggest current impediment to code quality in the web world.<p>The alternative view is &quot;things that are tightly coupled should live together&quot; which I think is generally a better maxim.<p>In theory views can be loosely coupled, but in practice they seem to be almost always coupled 1:1 with whatever layer is above them, controllers or view models or whatever.