10. Some
Common Solutions
10
Wednesday, July 25, 12
11. More
@#$&
Documents!
11
Wednesday, July 25, 12
12. Templates
&
Strategies
12
Wednesday, July 25, 12
13. Document
def render
render_title(@title)
render_author(@author)
...
end
PlainDocument HtmlDocument
def render_title(t) def render_title(t)
end end
def render_author(a) def render_author(a)
end end
Template Method 13
Wednesday, July 25, 12
14. PlainRender
def render(doc)
puts doc.title
Document puts “By #{doc.author}”
...
end
def render
@renderer.render(self)
end
HtmlRenderer
def render(doc)
...
end
Strategy 14
Wednesday, July 25, 12