Creating modular web applications
By Rob Jones | April 28, 2010
Before you read on, if you stumbled on this link through a search engine I will not waste your time and say I won’t be telling you how to do it. Instead, I’m going to share my experience of researching this topic.
It all sounds so beautiful. The idea of creating a web application that is built by separate blocks of functionality that can be developed independently of each other, but are still smart enough to work together if necessary. I started out thinking that I wouldn’t be the first person to have this brilliant idea and that there would be plenty helpful topics to help me get my journey underway. I had absolutely no idea what I would get myself into! Believe me when I tell you that implementing this idea is easier said then done!
I’ve always considered myself an able software developer who likes to dabble with getting projects started and setting up their architectures. Who have I been kidding?! Shortly after starting my research it was evident that there’s no out-of-the-box solution readily available. There are in fact a lot of ways to achieve this goal.
In the past week(s) I have found that my knowledge did not carry me as far as I had expected it would. I’ve read various books on Design Patterns and supposed that I understood most of the concepts I had read about. After having read many articles, I’ve been beaten to death with a lot of complicated words. Separation of Concerns, Model View Controller, Model View Presenter (and all their various little brothers and sisters), Inversion of Control, Dependency Injection and I could continue adding terms this list! Eventually I found myself reading up on Workflow Foundation and Service Oriented Architectures as well.
It made me scratch my head. I’ve read about most and heard about others, but found that my knowledge doesn’t extend past that. I’m hazy on the actual implementation of all these patterns and there’s such an abundance of literature to read that I feel I’m getting deviated from my original goal. However, getting to that goal will require me to dust off some of my knowledge and start polishing it to a shine again… It’s a nasty little circle that I will have to break out of. In any case it’s proving the point of what I was trying to convey to my old employer, it’s important to know about design patterns and their implementations!
At the moment I’m edging towards the possibility of a proof of concept implementation using the Model View Presenter design pattern in combination with ASP.NET WebForms. As far as I can tell right now this is going to be the most flexible way and reap the best of both worlds: seperation of concerns with an MVP approach (probably aided by Composite Web Application Block), combined with the strength and productivity WebForms can bring in terms of controls, such as Telerik.
Perhaps I will follow up on this topic later when I have a clearer vision on which approach to take and why.




2 Comments
Pingback: WCSF, Repositories and Unit of Work? | Storm in a Jar
Pingback: The magic of Castle Windsor! | Storm in a Jar