The root cause of writing Software is simple Software solves problems. We analyze the requirements and break them into smaller problems (modules) and then write the solution for each such problem. Every line of code (LOC) we write is meant to resolve some problem. A pattern or design pattern defines how we solve problems, we must remember that a pattern is never the solution itself it is a way solution is written or developed or rather architected.
Around the world developers and solution architects are always excited about using MVC in fact the developer community often frowns upon those who don’t use it! I remember one of friends who once asked me… “OMG! You are not using any MVC of framework? Just writing native code?”… I tried hard to reason… “We may not be using MVC but we are using patterns and its pure OOP, I don’t think such application really requires MVC!”… “No… No… I think you must!”… I resigned!
What exactly MVC has to offer:
- Reduced Code complexity
- Code reusability
- Increased flexibility
- Decoupled code
Have we ever thought? MVC cannot solve the Code complexity or reusability or even flexibility problem, it’s the developers who can solve these problems. Writing decoupled code is also a developer’s thing; a pattern like MVC will create and environment with certain restrictions and rules but the code has to be written by a developer, the logic behind the code has to be thought out by a human! [Read more…]