Keep ‘em separated: Get better maintainability in web projects using the model-view-controller pattern
MVC is an old pattern, but it's still relevant to web apps.


MVC is an old pattern, but it's still relevant to web apps.
While the future may be a mystery, you can design software to accommodate future changes. But how much future-proofing gets in the way of good design?
Do you design software with a big requirements doc upfront or let architecture emerge during agile processes? Is there a middle ground?
While computing has changed a lot in the 20 years since the SOLID principles were conceived, they are still the best practices for designing software.
This is a story about trying to rethink complex systems: the challenges you face when you try to rebuild them, the burdens you face as they grow, and how inaction itself can cause it’s own problems. When you’re weighing the risk and reward of replacing architecture, it can take several attempts to find a solution that works for you.
One of the tough decisions you and your team may face as you scale is deciding between keeping your current codebase and rebuilding on a new architecture.