Friday 11 June 2010

I lesson in learning

I was recently asked to do some updates for a church website. I do websites, I told myself, how hard can it be? After all I looked after my departments internal website and it wasn't that bad.

The previous administrator had casually mentioned to me that the website in question was an MVC type website. It didn't click at the time what he meant and I didn't think about it until I went to make these changes.

Ever heard of the concept of design patterns? I could remember something of this from my phase as an iPhone developer. Design patterns are used extensively when programming for the iPhone but I had only the vaguest notion the why and how.

So I dug in as without understanding MVC there was no hope I was going to 'get' this website.


MVC is actually a very nice way of structuring your application. Commands from the user are sent to the controller classes which fetch data from the model (which also implements application logic) and sends it to the view classes for display.

From this simple understanding, I realized that my own internal website was very broken in terms of design with these three components all mushed together into all doing mega classes. Which is ok, but it makes extending the application much harder to engineer.


So now I find myself midway through redesigning my internal website to be MVC as it just makes so much more sense. I guess I never really was a good website programmer. It's not my real job I guess but neither is anything else I do.

At least I haven't stopped learning!

No comments: