Model View Controller

Prompted by Kai Londenberg’s post, I’ve decided to actually sit down and read Terence Parr’s papers.

As we all know, the MVC pattern is a classic, right? According to Parr’s articles, a vast majority of the modern incarnations claiming to be designed after it are actually blatantly violating it. In his paper, he fails to mention Google’s CTemplate, which is attempting something along his lines (I’m not quite clear whether CTemplate is actually used anywhere – the code is quite messy, but the idea behind it is sound). According to author, the StringTemplate is [quote] “a general purpose text generation engine with a functional language that strikes a balance between power and enforcement of model-view separation” [/quote].

From the theoretical standpoint, Parr appears to be right. I do not have any experience with StringTemplate or CTemplate to be able to make a valid judgment about practical use, but Parr has some good testimonials and few real world projects (jGuru and other web sites, ANTLR3) to back up his theory.
In any case, I have found the mentioned material very educational and definitely worth reading.