Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Code Conflation: Considered Harmful?

by CountZero (Bishop)
on Sep 11, 2004 at 12:51 UTC ( #390263=note: print w/ replies, xml ) Need Help??


in reply to Code Conflation: Considered Harmful?

I can only speak from personal experience and what works for me does not necessarily work for someone else.

I have made a dynamic website (Apache2 + MySQL + (mod_)Perl). Template::Toolkit provides the templates; some additional "raw" perl left and right for the really tricky things and it all outputs XML, which is then send through an XSLT processor (part of Template::Toolkit), prettyfied by CSS and output as pure HTML to the user's browser.

The Template-layer builds the basics and is easy to modify; XSLT builds the bridge to HTML (if necessary this could be done "client"-side but not all browsers can do it and I don't like to send pure XML to the user. It is far too easy to parse that and "steal" the data); CSS is about the visual aspect.

I find this a nice and clean separation of concern.

With the same effort I could have Toolkit::Template output HTML, but that would be less "clean" as then HTML and logic would again be joined in one file.

With a little bit more effort I could perhaps have used a module to write the XML-output directly, well that is maybe something for the next release!

CountZero

"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law


Comment on Re: Code Conflation: Considered Harmful?

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (17)
As of 2015-07-07 19:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (93 votes), past polls