ご列席の皆様。
Closure Templates に関する Google のドキュメントを読んでいました。
そこにはそれほど多くのコードはありませんが、私が理解するのに苦労していることを表しています (特に Java で)。私は行ごとに行きます:
// Bundle the Soy files for your project into a SoyFileSet.
SoyFileSet sfs = new SoyFileSet.Builder().add(new File("simple.soy")).build();
私はこれを取得します。複数のテンプレート ファイルを収集するためのオブジェクト。罰金。しかし、なぜ.Builder()
ですか?だけではないのはなぜnew SoyFileSet().add(...).build()
ですか?
// Compile the template into a SoyTofu object.
// SoyTofu's newRenderer method returns an object that can render any template in file set.
SoyTofu tofu = sfs.compileToJavaObj();
罰金。しかし、なぜ私はこれが欲しいのですか?ファイルを集めた後、私はのようなものを期待していましたsfs.render(Map<> data)
. これを Java オブジェクトにコンパイルする必要があるのはなぜですか?
そして最後に...
// Call the template with no data.
System.out.println(tofu.newRenderer("examples.simple.helloWorld").render());
なるほど、メソッドを呼び出すためだけに中間オブジェクトを作成する必要があるのはなぜですか? sfs
オブジェクトが.render()
メソッドを持つことができなかったのはなぜですか? Renderer
オブジェクトが必要な理由
Java はイライラします。単純な方法で物事が行われないのはなぜですか?