Presenting MVC to Old C++ Spaghetti Coders?


You might find it easier to sell them on the Document/View or Document/Presenter patterns. MVC was invented on Smalltalk where everything about the different UI elements had to be coded by the developer (as I understand, never used the thing). Thus the controller element was necessary because didn't have things like TextElement::OnChange. Now days, more modern GUI API's use Document/View but Document/Presenter is something I've seen proposed.

You might also consider reading Robert Martin's article on the TaskMaster framework.

You might also consider that any C++ developer who is not familiar with these patterns and already understands their purpose and necessity is either a complete newb or a basket-case best avoided. People like that cause more harm than good and are generally too arrogant to learn anything new or they already would have.


I wish to present the idea of MVC to a bunch of old C++ spaghetti coders (at my local computer club).

One of them that has alot of influence on the rest of the group seems to finally be getting the idea of encapsulation (largely due in part to this website).

I was hoping that I could also point him in the right direction by showing him Model View Controller, but I need to do it in a way that makes sense to him, as well as it probably needs to be written in C/C++!

I realize that MVC is a very old architectural pattern so it would seem to me that there should be something out there that would do the job.

I'm more of a web developer, so I was wondering if anybody out there who is a good C/C++ coder could tell me what it is that made the MVC light switch turn on in your head.