interfaceの使い道
昨日の続き。
そういや自分で言っといて忘れてたけど言語内言語の文法定義に使える。同じオブジェクトにさまざまなinterfaceを実装して遷移させ、インデントはラムダ式を使うとシンプルに書ける。
interfaceをユーザーに実装させるために提供するという道はクロージャによって既に断たれた。デフォルト実装が作れないような場合はクロージャを入れさせるべきだ。
interfaceのメソッド/プロパティと同じ数のクロージャの群れでinterfaceは完全に代替が可能だが、いちいちクロージャを指定するのがつらいことになるような頻出する組み合わせは、ある程度interfaceなり抽象クラスなりにしてもいい。ただこのよく出てくる組み合わせというのが良く分からなくて、IList