タグ

diに関するkimutanskのブックマーク (7)

  • 【セッションレポート】 Developers.IO 2016 in Osaka で ゲンバのクリーンアーキテクチャを発表しました! #cmdevio2016 | DevelopersIO

    CM Developers.IO 2016 in Osaka 二週間以上も前のことになりますが、Develpers IO in Osaka 2016 で ゲンバのクリーンアーキテクチャと題して、クリーンアーキテクチャ を用いて、現場でモバイルバックエンドAPIをどのように開発しているかについて発表しました。 発表スライド Content of session 当日発表したセッションの概要です。 クリーンアーキテクチャとは Clean codeの著者であるRovert C.Martin氏が提案したアーキテクチャです。外界(API I/F, DB Schema, 外部システム)に依存しないコードをどのように記述し、パッケージ等を整理するかについて明確な方針を与えます。 外部に依存しないコードを記述するために DI(依存性注入) と DIP(依存性反転の原則)を用いて外部に依存するコードの抽象を

    【セッションレポート】 Developers.IO 2016 in Osaka で ゲンバのクリーンアーキテクチャを発表しました! #cmdevio2016 | DevelopersIO
    kimutansk
    kimutansk 2016/04/22
    「Entitiesレイヤのサービスはインフラに依存しない名前」はなるほど。名前で依存していればコードの依存先はともかく、実態はインフラに依存していることになる。
  • 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から始まりますね・・・ そこから徐々に派生していくので、やり方を工夫したと考えればすんなりと。
  • 3.4. Dependencies - minokubaの日記

    3.4 Dependencies bean間の依存関係の定義について。なんか書いてあったけど忘れたので省略。この節は長いな…。 3.4.1 Dependency injection SpringのDIには、コンストラクタインジェクションと、セッターインジェクションがある。 3.4.1.1 Constructor-based dependency injection コンストラクタによるDIについて。基形。 基型など型が不明瞭な場合のシンタックスその1 基型など型が不明瞭な場合のシンタックスその2。引数順を指定する。 基型など型が不明瞭な場合のシンタックスその3 (debugオプションつきか、@ConstructorPropertiesをつける必要あり。引数名から特定。) 3.4.1.2 Setter-based dependency injection setterで指定。例はあと

    3.4. Dependencies - minokubaの日記
    kimutansk
    kimutansk 2014/06/25
    このあたり、毎回調べている気がするのでまとめて覚えておきましょうか・・・
  • 心地良すぎるDependency Injectionライブラリ Guice - nodchipの日記

    etc9さんの"心地良すぎるモックライブラリ Mockito"がとても勉強になったので、似たような形式でGuiceの紹介をしてみます。 Dependency Injection きちんと勉強したわけではないので間違っていたらごめんなさい。Dependency Injection (DI)はユニットテストを書きやすくするためのクラスの書き方の一つです。クラスAが内部でクラスBを使うとき、Aの中でBをnewする代わりに、AのコンストラクタやsetterでBのインスタンスを外部から渡せるしておきます。こうしておくとAのユニットテストを書くとき、Bの動作を真似るモックオブジェクトを渡すことで、Bの中身を考えずにAをのテストを書けるようになります。これはAとBの動作を同時に考えてテストを書くよりずっと楽だと思います。依存性注入とかレポジトリパターンとも呼ばれているっぽいです。 GuiceはDIの補助

    心地良すぎるDependency Injectionライブラリ Guice - nodchipの日記
    kimutansk
    kimutansk 2013/10/30
    DIコンテナまではいかずとも、似たようなことを実現したいことは多々あるわけでして。覚えておきましょう。
  • Scala で DI (Effective Scala / Lift のDI編) | Synergy Marketing LAB BLOG

    こんにちは、馬場です。 前回はScalaのDIのパターンとしては最も有名なCake Patternを紹介しました。今回はDIの他のパターンも紹介したいと思います。 Twitter でのScala DI さて、少し前にTwitterScala のベストプラクティスをgithub上に公開しました。DIについては、以下のように言っていますね(かなり意訳です)。 Scala にmixinの仕組みを導入したのは、伝統的なDIの手法をやめたかったからだと思う。新方式の最たるものが「Cake pattern」だろう。 (略) けど、Scalaを利用するだけで、古典的DI手法の問題点はだいたい解決できると感じる。(略)だから、私たちはあまり継承せずに構造化しようと決めた。その方がモジュール性が高くテストしやすいプログラムができると思うから。 「伝統的なDIの手法」というのは、Springと同じよう

    kimutansk
    kimutansk 2013/08/21
    こちらだとかなりすっきりしますね。ただ、詳細は実際に使うときに確認しましょう。
  • ScalaでDI (Cake Pattern 導入編) | Synergy Marketing LAB BLOG

    こんにちは、馬場です。 唐突ですが、現在Play! + Scalaで開発しています。 それまではほとんどJava (たまにRuby/Rails)で作っていたので、格的にサービスをScalaで作るのは初めて。 慣れないながらもすごく楽しくやっていましたが、プロジェクト開始早々でてきた不満。それは 「DIしたい…」 なぜなら「テストが面倒だから」。 データベースアクセス、webapiの呼び出し、メール送信と外部リソースへアクセスする処理のオンパレード。テストのたびに実行していたらスローテストに陥ることは目に見えています。リファクタリング/パフォーマンスチューニング/ライブラリのアップデートに耐えるためにも、ここはぜひともDIを導入しておきたい。 というわけで、Scala アプリケーションへのDIの導入体験を紹介したいと思います。 Java で DI まずはJavaのDIコンテナSpri

    kimutansk
    kimutansk 2013/08/21
    やたらと関連クラスが増えますね。さすがにこれは・・厄介そうです。
  • Dagger: Android向けの依存性注入フレームワーク

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Dagger: Android向けの依存性注入フレームワーク
    kimutansk
    kimutansk 2012/10/10
    Android向けとして明示的にうってでてきたDIフレームワークとしては初めて・・・?
  • 1