StringTemplate违反分离?

时间:2011-06-22 13:23:13

标签: java model-view-controller stringtemplate

我在StringTemplate的介绍中注意到以下内容:

  

StringTemplate解释o.p by   寻找对象内的属性p   O操作。查找规则略有不同   语言端口之间,但一般情况下   他们遵循旧的JavaBeans命名   惯例。 StringTemplate寻找   方法getP(),isP(),hasP()首先。   如果找不到其中一个   方法,它寻找一个叫做的字段   第

这篇文章似乎没有提及:http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf

通过调用方法基本上允许模型提取数据,这是否打开了违反模型/视图分离的大门?一个糟糕的程序员可能会编写一个导致副作用的方法getP()。 ST如何“严格”执行此处的关注分离?

1 个答案:

答案 0 :(得分:6)

每一个模板语言都是如此,Velocity,FreeMarker,StringTemplate和JSP / JSF表达语言。

关注点的分离是程序员应该关心的,而不是视图。人们应该编写无副作用的get / is / has方法,这样任何人都可以调用它们而不必关心它。这就是为什么这些方法应该是访问器,并且通常使用 setSomething 调用的方法应该是mutators。

如果某人编写了自己的类并决定定义一个具有副作用的 getSomething 方法,那么他们就会违背共同的信念,并且工具在处理时不应该采用每一个假设。对象,他们只是希望人们能够聪明,并且会像其他人所写的那样尊重常识并编写代码。