In Section 7 of his paper,
Terence Parr
list 5
factors that define how "entangled" a templating engine is.
The interesting thing about his criteria is that although
Perrin's
paper sees Template and HTML::Mason in different
categories, Terence's criteria sees them as equally entangled!
the criteria
Criteria |
HTML::Template |
Template |
HTML::Mason |
the view cannot modify the model either by directly altering
model data objects or by invoking methods on the
model that cause side-effects.
|
1 |
0 |
0 |
the view cannot perform computations upon dependent
data values For example, the view cannot compute book sale
prices as “$price*.90”.
|
1 |
0 |
0 |
the view cannot compare dependent data values, but can
test the properties of data such as presence/absence. Tests like
$bloodPressure<120
must be moved to the model and replaced with a test for presence
such as
$bloodPressureOk!=null
|
1 |
0 |
0 |
the view cannot make data type assumptions. how the hell is that possible?!
|
0 |
0 |
0 |
data from the model must not contain display or layout
information.
|
0 |
0 |
0 |
TOTALS |
3 |
0 |
0 |
HTML::Seamstress has no particular policies on any of these. Not surprising.
It is not a templating system! It could be grossly entangled or cleanly separated depending on the discipline of the object-oriented software developer.