I remember when I first started writing code, my approach was to start with the UI and fill in the event handlers. Each event handler contained logic to validate user input, update the UI, and access any data. I was a novice developing software through the anti-pattern. The more seasoned I became the more I began to refactor my code. There was less cut and paste and more utility classes. Simple beginnings – yes – but everyone starts somewhere.
Fast forward to today and I’m using Microsoft’s MVC 2 pattern and I love it. It’s a very clean, simple to follow pattern whose primary goal is a separation of concerns. I know MVC pattern has been around for a number of years, but I remember when MS introduced ASP.Net and unleashed spaghetti code hell. They then tried to abstract away the intricacies of internet plumbing and state with ASP.Net Webforms. I guess we have all come a long way.