The last post I talked about the service layer and how it was going to help solve some problems that I’ve been having with the way I architect applications. Since then and may hours (days) of research I’ve since had a number of revelations that has really changed the way I approach architecture and brought me more in tune with discussions that are going on in the community.
The biggest revelation was that my application of MVC was “wrong”. I put wrong in quotes because application architecture (similar to beauty) is in the eye of beholder. There are many schools of thought on how you should go about architecting but choosing a path is difficult. Often these techniques are phrased as making code more scalable and maintainable but without clear examples of why certain things are wrong and why others are right. Patterns of Enterprise Architecture by Martin Fowler does a good job of introducing commonly used patterns but even Martin concedes in the book that he has no idea what you are building; he can only point you in the somewhat correct direction
I’ve had the opportunity to work on and architect some great application (websites) early in my career and I’m currently working on one of my own that I hope will stand the test of time. In a series of posts I hope to identify what I did wrong what I think is right by using UML, diagrams, and some code to model a common application – a blog. We’ll start with my mangled MVC thoughts, move to a more acceptable MVC technique and then end at what I understand to be domain driven development.




