php5.4に触ってみたよ (2)
前回の続き。
そもそもtraitそのものを扱ったことがないのでこれを機にいろいろ試してみる。
まずはtraitを合体させてみるテスト。
traitは振る舞いの再利用だそうなので、振る舞い(メソッド)を単位でモジュール化出来る。
で、これを組み合わせて新しいtraitをつくることができて
しかもこれらは継承ツリーに縛られないので柔軟な設計ができますよ、と。
traitを使ったObserverパターン
traitはプロパティも含むことができるそう。
なので、traitを使って個々のListenerに依存しない通知部分(とclear部分)をNotifierとして実装してみた。
NotifierをuseするだけでuseしたクラスはObservableになり
Listenerの登録と、登録されているListenerへのnotifyが可能になる。
しかもNotifierは継承ツリーに縛られないのでいろんなクラスを横断的にObservableに出来ますね。
便利便利。