{"id":54,"date":"2007-02-12T17:11:51","date_gmt":"2007-02-12T15:11:51","guid":{"rendered":"http:\/\/appinf.com\/poco\/blog\/?p=54"},"modified":"2007-02-12T17:11:51","modified_gmt":"2007-02-12T15:11:51","slug":"model-view-controller","status":"publish","type":"post","link":"https:\/\/pocoproject.org\/blog\/?p=54","title":{"rendered":"Model View Controller"},"content":{"rendered":"<p>Prompted by Kai Londenberg&#8217;s <a href=\"http:\/\/www.appinf.com\/poco\/wiki\/tiki-view_forum_thread.php?comments_parentId=235&#038;topics_threshold=0&#038;topics_offset=0&#038;topics_sort_mode=commentDate_desc&#038;topics_find=&#038;forumId=3\">post<\/a>, I&#8217;ve decided to actually sit down and read Terence Parr&#8217;s papers.<\/p>\n<p>As we all know, the MVC pattern is a classic, right? According to Parr&#8217;s <a href=\"http:\/\/www.stringtemplate.org\/article\/list\">articles<\/a>, 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&#8217;s <a href=\"http:\/\/code.google.com\/p\/google-ctemplate\/\">CTemplate<\/a>, which is attempting something along his lines (I&#8217;m not quite clear whether CTemplate is actually used anywhere &#8211; the code is quite messy, but the idea behind it is sound).  According to author, the <a href=\"http:\/\/stringtemplate.org\">StringTemplate<\/a> is [quote] &#8220;a general purpose text generation engine with a functional language that strikes a balance between power and enforcement   of model-view separation&#8221; [\/quote].<\/p>\n<p>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.<br \/>\nIn any case, I have found the mentioned material very educational and definitely worth reading.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prompted by Kai Londenberg&#8217;s post, I&#8217;ve decided to actually sit down and read Terence Parr&#8217;s papers. As we all know, the MVC pattern is a classic, right? According to Parr&#8217;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 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-54","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/54","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=54"}],"version-history":[{"count":0,"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/54\/revisions"}],"wp:attachment":[{"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=54"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=54"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}