社内勉強会で何を発表しようかなと迷ったんだけど、 最近php-diでFizzBuzzを題材にして動作確認してたのでそれを発表することにした。
Sponsored link
FizzBuzz (PHP)
https://github.com/masa0221/fizzbuzz-php
これなんだけど、FizzBuzzってあらためてクラス分けて作るような代物じゃないのでちゃんと設計しようとすると意外と難しかったです。。
みんなどうやってるんだろって思ってぐぐってみたらFizzBuzzEnterpriseEditionとかなんかすごいのも出てくるしw
発表してみると、その後は色々フィードバックをもらえたのでそれが勉強になりました。
いただいたフィードバックは確かこんな感じだったかと。
- フィールドの@varに書く型は具象クラス名じゃなくて、インターフェイスのほうがよいのでは。(たしかに)
- Java界隈でもDIは盛んで、アノテーションでインジェクションしたり(たぶん、フィールドインジェクション)、設定(XML)に書いてたりが多かったけど、コンストラクタインジェクションでいんじゃねっていう流れになってきてる。
なるほど、Springframeworkとか触っててAutowiredとか便利やなーと思ってたけど最近はコンストラクタなのか。
とはいえ、インジェクションする対象を設定ファイルに書くとソースの可読性がとても気になるなあと個人的には思ってるので、DIコンテナ使うときはコンストラクタを作って@Injectでインジェクションする具象クラスを指定するのがいいんじゃないかと思った。
もっと実際に開発してみないと感触がつかめないなぁ。。
みんなどうやってるんだろ。