in reply to Re: Push templating strategy cannot violate separation
in thread RFC - Template::Empty
All "push" style has done is moved the "pull" into your perl layer.Au contraire. It has guaranteed well-formed HTML. As well as the other benefits mentioned in the Seamstress docs.
Seamstress requires too much knowledge about the template.You created the proving grounds. I met the challenge. Please point to the part of the code with "too much knowledge about the template".
TT is closest to give true separation because you can give it unblessed, raw, unformatted data.Yes, but you give TT "blessed, cooked, formatted" HTML? You go into the HTML and put various things there. You rip apart the HTML into files.
Anything that is not passed as unblessed, raw unformatted data has violated the separation - but that doesn't make it bad - it just makes it not academic.If the definition of the model were raw, unformatted data, yes. But it is not:
Model: The domain-specific representation of the information on which the application operates. Domain logic adds meaning to raw data (e.g., calculating if today is the user's birthday, or the totals, taxes, and shipping charges for shopping cart items).In other words, the raw data is adopted into the model on domain-specific terms. This adoption in my case involved blessing the object into a class which would handle all operations for this domain-specific interpretation of raw data.
Note that Catalyst also backs me up. It has very high-level Model and View classes that dispatch to your Model and View classes which then manipulate the raw and unprocessed data.
| I have beheld the tarball of 22.1 on ftp.gnu.org with my own eyes. How can you say that there is no God in the Church of Emacs? -- David Kastrup |
|
| Enforce strict model-view separation in template engines via HTML::Seamstress | The car is in the cdr, not the cdr in the car |
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Model-View-Controller is natural with HTML::Seamstress
by Rhandom (Curate) on Feb 26, 2008 at 23:40 UTC |