Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^4: The Model View Controller pattern in web applications

by Joost (Canon)
on Oct 24, 2004 at 22:53 UTC ( #402099=note: print w/ replies, xml ) Need Help??


in reply to Re^3: The Model View Controller pattern in web applications
in thread The Model View Controller pattern in web applications

I agree on most of your points, and I know from experience that MVC can be a huge and costly effort. :-/

I do think that for smaller CGI applications it can still be beneficial to try and separate the three components, because in my experience, those are just the kind of apps that get coded before they're designed.

If you take something like CGI::Application, I think it will make a big difference already for those apps. Even if you don't do the full MVC separation.

Bigger and more complicated applications tend to get more design time anyway (ignoring an abundance of contrary examples), and are _hopefully_ more maintainable just because of that.


Comment on Re^4: The Model View Controller pattern in web applications
Re^5: The Model View Controller pattern in web applications
by pg (Canon) on Oct 25, 2004 at 00:07 UTC

    Put in this way:

    • From an abstract view: CGI is a totally different animal than MVC, and it is even not a design pattern, but rather a functinal part of a system.
    • From a practical view: I agree that CGI can be used to implement part of the MVC model, especially the V and M. If we are talking about Perl modules, then yes, we can use CGI::Application, even CGI. If you look at what CGI (the perl module) provides you with MVC in your mind, you will quickly realize that:
      • It can be used to form view, with methods like start_form, h1 etc. But I would largely prefer templating systems.
      • It can be used as part of controller, with methods like cookie etc.

    However if the developer or designer has too much CGI in his mind, then most likely he would come up with something does not clearly sepearte M and V.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://402099]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (12)
As of 2014-11-28 09:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (195 votes), past polls