Template Methodパターン
親クラスで順序を規定し、
サブクラスでその中身を実装する
A→B→Cという順序を親が規定し
Aはこういうもの、Bはこういうもの、というのを子で実装をする
普通に継承の短所を食らうのであんまりみりょくてきではない

現代は、継承を使わずに他の方法でできることも多いので、そっちを使う流れがあるらしい
処理の共通部分を抽象クラスに抽出し、固有の処理を具象クラスで実装する
これって、「抽象クラスの普通の使い方」という感じがするけど、わざわざ名前がついているのか

それか、GoFの時代には、一般的な言語には abstract class
のようなものがなくて、
通常のclassの継承関係をやるときに、このパターンやると良いぞ、ってなったんかな?
それ以降に、ええやんってなって、その辺の言語に abstract
が導入された、みたいな
知らんけど
↑これたぶん勘違いしているな


pp.163-164の例、
Template Methodパターンの例としてわかりにくくない?
例が小さすぎる
知らんけど

p.165~はわかる
動的型付けやからやんけ、というかんじもするけど