Re: MVC is pretty nice
Posted: Thu Apr 27, 2006 12:02 am
Im my defense, when I said I wasn't impressed with MVC it was likely due to the varying opinion and lack of understanding of those explaining the idea behind it to me.arborint wrote:My suprise is not that experienced developers with extensive knowledge about these ideas express a variety of perspectives about them. It is that programmers who are younger than many of these ideas (MVC is over 30 year old) and who know very little about them say they are "not impressed" by them. I fault myself for this as well.
I also don't see the disagreements. When I look around at leading web development being done in C#, Java, PHP, Python, or Ruby it all looks suprisingly similar, especially with regards to OOP, Patterns, Agile methologies, Unit Testing, etc.
I don't mean these forums, but articles, etc in general...
Articles are not a good way to learn anything, they are a good way to be introduced to basics, so as a professional one can determine if thats a road he/she wishes to drive down.
Articles are often written by people barely familiar with the concept themselves, thus you get a very convoluted explanation with missing ends...
Look at OOP articles for example...especially those for languages like PHP...those articles miss out on so much foundation, etc...beginners start using OOP for everything and using it incorrectly to boot...and within 2 years consider themselves experts in OOP when in reality they know nothing more than inheritence, encapsulation and other basics behind OOP...
MVC is nothing new to me...as I've used C++ frameworks which model MVC in a single user desktop paradigm for almost 10 years. The paradigm shift between desktop application development and web application development likley had something to do with my confusion in grasping MVC (as I've only done web application development now for about 5+ years). Also the fact I was never formally trained in anything...so although I had been exposed to MVC and understood the concepts behind separation of the triad...I never gave it any "official" thought as to what it really meant.
Therefore, when I started web developement I immediately started my own ways of supporting component separation, learning as I went...discovering my own template engine and later dropping it in favour of a more complete implementation (aka smarty and now smarty lite). For all intent and purpose I pretty much had an MVC implementation minus controller (particularly model/view controllers).
Which I will admit make code cleaner...and I will likely never find reason to go back...
Also...most importantly...because of lack of understanding of what MVC was...a design pattern not specific implementation...and my current outlook on PHP based frameworks being so full of poop
It was when I sat down and thought about it and then prototyped my own application using a design pattern approach, as opposed to using existing frameworks, that it finally "clicked"
My implementation in extremely modular...light weight as stupid fast...in simplicity comes stability...so I'm happy...
All examples I seen however, seemed to dictate a OOP approach and I couldn't fathom using classes for everything in MVC like that, so that caused disinterest, hence my negative outlook towards MVC.
But like I said...i'll never go back to any other approach unless mandatory...
And I owe it all to the peeps on this forum for constantly preeching about it - albeit at over complicating at times
Cheers