今日の鱗
Rubyのお話。
テンプレートメソッドパターンをjava風からruby風にしてみようという中で
まず、CharDisplayがAbstractDisplayを継承してるけど、これって意味あるかね? Rubyは単一継承なんで、一回しか使えない継承をこんなところで使うのは、 貧乏性な僕はとしては、ちょっと我慢ならぬー、もったいねーっす。 それにrubyにはAbstractDisplayでopenとかcloseとか定義してるけど、 これって意味ないですよね。 機械猫の日記 - rubyでデザパタ
たしかに。制御をクラスに強制したいだけなのだからなにも継承じゃなくていいわけだ。僕らにはmoduleがあるっと。
そして、どうせ実装クラスでメソッドとして定義しなおすんだし、制御側では宣言(openやcloseメソッド)はいらないってことか。ふむふむ。