たかたです

> JavaのRunnable を Mixin して、method run() を上書き実装する、
> というのがそれでは?  委譲というと  delegation  という単語を
> 想像しますが、むしろ GoF の Template Method だと思います。

ええと、僕が考えてたのは、Javaのinterfaceのノリに確かに近いのですが、
でもTemplate Methodみたいなのとは違って
(だって、型がないのにそんなのしてもあんまり意味ないじゃないですか)

つまり、何らかの多人数でやるプロジェクトで、
たくさんの作者の違うクラスが
同じ機能を実装していて欲しいといった時、
そのプロジェクト内でその機能を実装するメソッドの名前"method_foo"を決めておく
(できるだけ説明的な名前がいいと思う)
そして、その機能を持っていないクラスは、"method_foo"という名前のメソッドを使
わない様に決めておく。
そのうえで、"method_foo"の機能を誰でも新しいクラスに簡単に実装できるように、
典型的なmethod_foo実装Mixinとか、method_fooの機能を肩代わりしてくれる委譲先
クラス(ライブラリ?)を作っておく。

てな感じです。
だから、インターフェイスを継承するというより、
実装を手早く作るレシピ&料理が何か分かるメニュー
を作る感じです。

# Interfaceみたいに、クラス名の後ろが"fooable"で
# 終わるように統一しても良いかも


> > あるいは、特定の命名規則に従っているなら、
> > ある特定のお仕事をできると考えて良
> > いとか。

という感じです。

# あんまり、実用的じゃないかも。

たかたひであき