タグ

ブックマーク / tototoshi.hatenablog.com (2)

  • DIについてあれこれ - tototoshi の日記

    Dependency Injectionとはコンポーネント間の依存関係をプログラムのソースコードから排除し、外部の設定ファイルなどで注入できるようにするソフトウェアパターンである ってwikipedia先生が言ってました。 Scalaにおける最適なDependency Injectionの方法を考察する 〜なぜドワンゴアカウントシステムの生産性は高いのか〜 - Qiita を読んでいろいろ考えたので、なんで今さらって感じのことを書きます。 ScalaでDIというとDIコンテナとかCake PatternとかReader Monadとかって話になっちゃうんですが、これらはいかにかっこよくDIするかの話であって、別にこういった道具やパターンを使わなくてもDIは可能という話です。 Constructor Injection 簡単な例で考えます。今ここにUserRepositoryにべったり依存し

    DIについてあれこれ - tototoshi の日記
    kimutansk
    kimutansk 2015/12/04
    確かに最初はConstructor Injectionから始まりますね・・・ そこから徐々に派生していくので、やり方を工夫したと考えればすんなりと。
  • 図で分かるfoldLeft - tototoshi の日記

    foldLeft って map, filter, foreach といった他の高階関数に比べて難しい気がします。多分いきなり「畳込み」とか「アキュムレータ」とか言うからだめで、手続き脳フレンドリーな言い方は「ループの変形」なんじゃないかと思いました。実は書くだけだったら手続き的ループから機械的に変換できます。 こういう目で見ると、map, filter が foldLeft で実装しろみたいなありがちな練習問題もとても簡単ですね。 ちょっと複雑なものも一回ループで書いてしまってそれから foldLeft に変形するというズルができます。

    図で分かるfoldLeft - tototoshi の日記
    kimutansk
    kimutansk 2014/05/27
    foldLeftをこういう風にマッピングすると対応はわかりやすいですね。
  • 1