Template Methodパターンは、アルゴリズムに多態性を持たせたい場合に有効。
Rubyは抽象メソッドをサポートしていないので、Reportクラスのoutput_lineメソッドでは例外を投げるようにしている。
output_start メソッドや output_end メソッドのように、
Template Methodの具象クラスによってオーバーライドできる非抽象メソッドをフックメソッド という。
Template Methodパターンは、アルゴリズムに多態性を持たせたい場合に有効。
Rubyは抽象メソッドをサポートしていないので、Reportクラスのoutput_lineメソッドでは例外を投げるようにしている。
output_start メソッドや output_end メソッドのように、
Template Methodの具象クラスによってオーバーライドできる非抽象メソッドをフックメソッド という。