デザインパターンの中でもわかりやすいTemplate methodパターン。 Rubyによるデザインパターンで紹介されていたコードをpythonで書いてみた。 AbstractClassであるReportの各メソッドの実装はpassにしてあるけど、必ず実装してもらうためにはNotImplementedErrorをraiseするようにする。 # coding=utf-8 class Report(object): def __init__(self, title, *text): self.title = title self.text = text def output_report(self): self.output_start() self.output_head() self.output_body_start() self.output_body() self.output_bo

