The name Template View brings out the fact that the primary purpose of Template View is to play the view role in Model View Controller . For many systems the Template View should only be the view. In simpler systems it may be reasonable for Template View to play the controller role, and possibly even the model role, although I would strive to separate model processing as much as possible. In cases where the Template View is taking on responsibilities beyond the view, it's important to ensure that these responsibilities are handled by the helper, not by the page. Contoller and model responsibilities involve program logic, and like all program logic this should sit in the helper.
Any template system needs extra processing by the web server.
This can either be done by compiling the page after it's created, compiling the page on it's first request, or by interpreting the page on each request. Obviously the latter isn't a good idea if the interpretation takes a while to do. When to Use it For implemnting the view in Model View Controller the main choice is between Template View and Transform View . The strength of Template View is that it allows you to compose the content of the page by looking at the structure of the page itself. This seems to be easier for most people, both to do and to learn.