タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

scalaとdiに関するemonkakのブックマーク (5)

  • Scala用DIライブラリ3種を雑に比較してみた(Guice, Airframe, MacWire)

    前書き Airframe Meetup #1 - connpassへ参加せてもらってなかなか良い刺激になったので、一念発起してScala用のDIライブラリの比較記事を書くことにしました。 が、ぶっちゃけるとAirframe: DI Framework Comparisonの記事のほうが100倍ぐらいDI真面目に使っている人がこの記事の10倍くらい時間かけて書いているに違いないのでそっち読んだほうがよいです。 この記事は多様かつ様々な視点からの意見があったほうがよいという背景から書いています。 ※注意: この記事を書いている人間はGuice, Airframe, MacWireそれぞれの使用時間が3時間未満なのでその程度の知識の人間が書いている前提で読んでください ドキュメント(仕様)を読んで比較して気づくこと Airframe: DI Framework Comparisonを参考にしつつ

    Scala用DIライブラリ3種を雑に比較してみた(Guice, Airframe, MacWire)
  • Airframe: Lightweight Building Blocks for Scala

    AirframeはScalaでアプリケーションを作る際に便利な「道具」をオープンソースにしたものです。2016年から開始して少しずつ現在の形に整理し、簡単なプログラムを作るときはもちろん、現在ではTreasure Data社内でより複雑なScalaアプリケーションを構築する際に欠かせない構成要素(building block)となっています。 Airframeを開発したきっかけは、Google Guiceなど既存のDependency Injection(DI)ライブラリがScalaで使いにくいという理由からでした。Dependency injectionとはオブジェクトの構築をコード中に手書きで行うのではなくDIフレームワークに任せることで、プログラマの手間を省き、モジュールの切り替えを容易にするための仕組みです。しかし、Google Guiceを使ったとしてもオブジェクトのライフサイク

    Airframe: Lightweight Building Blocks for Scala
  • GitHub - softwaremill/macwire: Zero-cost, compile-time, type-safe dependency injection library.

    Zero-cost, compile-time, type-safe dependency injection library. The core of MacWire is a set of macros, that is code which runs at compile-time. The macros generate the new instance creation code automatically, allowing you to avoid a ton of boilerplate code, while maintaining type-safety. The core library has no dependencies, and incurs no run-time overhead. The main mechanism of defining depend

    GitHub - softwaremill/macwire: Zero-cost, compile-time, type-safe dependency injection library.
  • Scalaにおける最適なDependency Injectionの方法を考察する 〜なぜドワンゴアカウントシステムの生産性は高いのか〜 - Qiita

    DIを使わない状態ではUserRepositoryというインターフェースが定義されているのにもかかわらず、UserServiceはUserRepositoryImplの参照も持っていました。 これではせっかくインターフェースを分離した意味がありません。 UserServiceがUserRepositoryインターフェースだけを参照(依存)するようにすれば、具体的な実装であるUserRepositoryImplの変更に影響されることはありません。 この問題を解決するのがDIの目的です。 それではDIのインジェクタを加えて、上記のクラス図を修正しましょう。 謎のインジェクタの登場によりUserServiceからUserRepositoryImplへの参照がなくなりました。 おそらくインジェクタは何らかの手段でサービスであるUserRepositoryImpl(Dependency)をクライアン

    Scalaにおける最適なDependency Injectionの方法を考察する 〜なぜドワンゴアカウントシステムの生産性は高いのか〜 - Qiita
  • 実戦での Scala: Cake パターンを用いた Dependency Injection (DI) · eed3si9n

    2011-04-23 Akka の作者として益々注目を集めている Jonas Bonér が 2008年に書いた “Real-World Scala: Dependency Injection (DI)” を翻訳しました。翻訳の公開は人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2008年10月6日 Jonas Bonér 著 2011年4月22日 eed3si9n 訳 さて、実戦での Scala シリーズ第二弾の今回は、Scala を用いた Depenency Injection (DI) の実装をみていきたい。Scala は、備わっている言語機構だけを用いても何通りかの DI を実現できる非常に豊かでディープな言語だが、必要に応じて既存の Java DI フレームワークを使うこともできる。 Triental では、一つの戦略に落ち着くまで三つの異なる方法を試した

  • 1