2013-05-30 53 views
0

我有一个很大的freemarker模板(2000行)用于生成非常复杂的XML文档。我的问题是:一个freemarker模板vs多个模板

  1. 保持这个东西是地狱。难以浏览模板,找到您想要的信息并进行更改。
  2. 没有明确的结构。
  3. 测试也很困难。每次以前的开发人员将整个生成的XML与“理想”的XML进行比较。当你做出丝毫的改变时,你必须比较整个XML,而不是只比较那些会受到影响的部分。

我显而易见的想法是该模板分离到多个规模较小的,每个对应于一个不同的“逻辑”部分,然后将它们包括到一个主模板。我唯一关心的问题是,我没有通过搜索找到答案,天气中包含许多模板(当然它们可以被缓存)包含在主模板中,与单个“大”模板方法相比,对性能产生不利影响。

回答

0

如果你在循环内有一个循环,每个循环的循环次数并不多,并且运行数千次,那么它可能会明显变慢。否则我不会担心。

+0

事实上,我坐下来,将大模板的几个部分迁移到较小的模板,并写了一些比较两种方法的性能测试,并且在汇总了1000次迭代测试的结果之后没有观察到显着差异。所以我想(纠正我,如果我错了),最后重要的是,尤其是如果你缓存**解析**“主”模板,模板将几乎相同**解析**“单一模板“版本。 –

+0

它会一次又一次地转向每个'#include'调用的模板缓存,但这是一个相当便宜的操作,所以是的,它实际上是一样的。 – ddekany