タグ

DIに関するt-wadaのブックマーク (37)

  • Webアプリケーションフレームワーク導入時に考慮すべき22の観点 - Qiita

    記事では、 チームによる持続的に変更可能なWebアプリケーションの開発を目標に、フレームワーク導入時に考慮すべき22の観点を紹介する。 フレームワークによって特徴は異なるが、番導入にあたって、考慮すべきポイントはあまり変わらないので、極力フレームワーク1に依存しすぎないよう配慮する。また、話をシンプルにするため、REST APIを提供するアプリケーションを題材とする。 前提 ソフトウェアのエントロピー ソフトウェアがエントロピー増大の法則を避けられないことを、体感している開発者は多いだろう2。普通にアプリケーション開発を続けると、開発スピードは鈍化し、品質は低下してバグが増え、開発者からは技術的負債への怨嗟の声が聞かれるようになる。エントロピー増大というフォースは極めて強力で、意思を持って立ち向かわなければ、容易にダークサイドに堕ちてしまう。 関心事の分離 大規模Webアプリケーション

    Webアプリケーションフレームワーク導入時に考慮すべき22の観点 - Qiita
    t-wada
    t-wada 2017/12/18
    大変力の入ったエントリ "変化に強いWebアプリケーションの開発には、DIは事実上必須" わかる
  • DIコンテナのインジェクション方法の使い分けについて - 日々常々


    DI使使   DI  使 new   Dependency Injection Short Answer 使使3 3      class Hoge { @Inject
    DIコンテナのインジェクション方法の使い分けについて - 日々常々
    t-wada
    t-wada 2017/04/20
    "Short Answer: コンストラクタインジェクションを使いましょう。使い分けなくていいです" 完全に同意
  • 「なぜDI(依存性注入)が必要なのか?」についてGoogleが解説しているページを翻訳した  - Qiita


    DI調Google Guice  Google GuiceGoogleDIJava使Scala使Play Framework     
    「なぜDI(依存性注入)が必要なのか?」についてGoogleが解説しているページを翻訳した  - Qiita
    t-wada
    t-wada 2016/08/15
    テスト容易性が引き合いに出されるけどメリットはそれだけでなく、DIとDIコンテナの導入で中間層を挟む余地がいたる所に生まれ、変更に強く中長期的にリカバリの効くアーキテクチャ基盤を作れるのがありがたい
  • Symfony の学びかた

    プログラマとして Symfony 歴は 2 年くらい(フルタイムではない) Symfony1 時代はほぼ知らない Java, Ruby, JavaScript, elisp, PHP github 上では JavaScript プログラマ? 代表作は power-assert Why Symfony? なぜ Symfony を選んだか 「コードがしっかりしている」 メンテ方針がしっかりしている(長期サポート, 後方互換性) DIベースの疎結合設計で自分でアーキテクチャを進化させやすい 中長期的な生産性が高まることを期待できる

    Symfony の学びかた
    t-wada
    t-wada 2014/04/20
    本日 #symfony_ja で講演させて頂いた際の講演資料をアップロードしました
  • BEAR.Sunday

    BEAR.Sunday is a resource orientated framework with a REST centered architecture, implementing Dependency Injection and Aspect Orientated Programming' at its core. Learn more »

    t-wada
    t-wada 2014/04/12
    REST の制約/思想をアプリケーション内部のアーキテクチャにまで適用した野心的なフレームワーク
  • 要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く


    DI Scala Java DI Dependency Injection DI   twitter 稿 
    要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    t-wada
    t-wada 2014/02/13
    Dependency Injection について必要十分にまとまっていて読みやすいエントリ
  • xUTP Chapter26. Dependency Injection

    handout for xUnit Test Patterns Reading Group JapanRead less

    xUTP Chapter26. Dependency Injection
    t-wada
    t-wada 2013/05/14
    テスト容易性のための設計という文脈で Dependency Injection について説明した、 xUTP 読書会の資料です
  • DI コンテナがコードに出現するのは dependency lookup が行われている兆候

    Dependency Injection (DI) コンテナを基盤にしたアーキテクチャを採用している場合に、(プロダクト|テスト)コードに DI コンテナが登場するのは dependency lookup (依存コンポーネントの検索)を行っている兆候と考えることが出来ます(もちろん必要があってコンテナの injection が行われている場合もあります)。 テストに DI コンテナが出現することに気付いたら、 Dependency lookup から Dependency Injection (DI) へのリファクタリングの契機とすることもできるでしょう。 続きを読む

    DI コンテナがコードに出現するのは dependency lookup が行われている兆候
    t-wada
    t-wada 2013/05/13
     DI使DI Symfony2  Doctrine DI  

    DI

    architecture
     
  • Dependency injection is not a virtue in Ruby (DHH)

    By David Heinemeier Hansson on Jan 6, 2013 In languages less open than Ruby, hard-coded class references can make testing tough. If your Java code has Date date = new Date(); buried in its guts, how do you set it to a known value you can then compare against in your tests? Well, you don't. So what you do instead is pass in the date as part of the parameters to your method. You inject the dependenc

    t-wada
    t-wada 2013/01/08
    DHH が DI (Dependency Injection) に対する意見を述べている。言語の柔らかさと思考の関係。
  • Pimpleでシンプルに正しくDIを理解する

    オブジェクト指向でソフトウェアを実装していると、オブジェクトの生成に一連の手続きが必要なものがでてきます。このような生成に関する手続きがあちこちのソースコードへ散在すると、望ましくない状況になることは想像に難くないでしょう。この問題に対処するために、Simple FactoryやFactory Methodといったデザインパターンがあり、オブジェクトの生成に関する手続きや関連オブジェクトも含めたオブジェクトの構成(オブジェクトコンストラクション)に関する知識は1箇所にまとめるということが定石となっています。 しかし、単にファクトリーを導入するだけだと、オブジェクトの構成処理は分離・隠蔽できても、利用オブジェクトがファクトリー自体に依存してしまうことになります。このような試行錯誤の歴史から登場したのがDependency Injection(依存性の注入)パターンです。Dependency

    Pimpleでシンプルに正しくDIを理解する
    t-wada
    t-wada 2012/08/03
    PHP で Pimple を使って DI(Dependency Injection) を行う方法と、そのメリットの説明。きちんと書かれている。
  • 『翻訳: メッセージングアーキテクチャにおける依存性注入』


    EIP1Gregor HohpeGregor's RamblingsGoogle Code http://code.google.com/p/gregors-ramblings-ja/ Dependency Injection in Messaging Architectures DI
  • The Rich Engineering Heritage Behind Dependency Injection

  • Dependency Injection: New Ground or Solid Footing?

  • Teedaのメリット・デメリット - おおたに6号機のちゃかつかない話

    Teedaのメリット・デメリットについて振り返ってみたいと思います. ■Teedaのメリット ・HTMLテンプレート まずはなんといってもHTMLテンプレートではないでしょうか。 レイアウトを確認するうえでは威力を発揮しやすいと言えます。 また前工程でユーザに確認してもらうために作成したモックをそのまま開発に 持ち込める点は良いのではないでしょうか。 ・設定ファイルレス 規約による設定ファイルレスはTeedaの中でも生産性に貢献する部分のひとつです。 簡単な規約を付与することで、設定ファイルに書くタグ+設定内容を規約に 置き換える部分は効果はあったでしょう。ただしデメリットもあります。後述します。 ・POJOベースのPageプログラミングモデル POJOなPageクラスをHTMLと1対1でバインドするTeedaの方法は 役割としてはとてもわかりやすかったように思います。DoltengのHT

    Teedaのメリット・デメリット - おおたに6号機のちゃかつかない話
    t-wada
    t-wada 2008/02/03
    このエントリはSeasarやTeedaに限定されたものではなく、設計の一般論と読むべき。多くの人に使われたOSS設計チームの経験から出た話として非常に参考になる。そして「デバッグの追いやすさ・保守性のし易さ・明示性」へ
  • DIxAOP時代のデザインパターンの検討 - レベルエンター山本大のブログ


    DIxAOPDesign Pattern 1 ImplicitInterface Injection DI使1   ImplicitInterface Injection ImplicitInterface In
    DIxAOP時代のデザインパターンの検討 - レベルエンター山本大のブログ
  • Dependency Injection の基本的なアイディア - bkブログ

    Dependency Injection の基的なアイディア Inversion of Control コンテナと Dependency Injection パターンを読みました。関連する事柄を広くカバーした、隙のない記事です。 ただ、割とボリュームがあるので、「Dependency Injection って結局何なの?」ということを手っ取り早く知りたい向きにはあまり向かないかもしれません。そこで、基的なアイディアを手短にまとめてみました。 Dependency Injection (依存性注入、DIと略) とはその名の通り、依存性を注入するパターン (テクニック) です。もう少し言葉を加えると、依存性を内部に抱え込まずに外部から注入する、パターンです。 Dependency Injection の基的なアイディアは「依存性を外部から注入する」です。 DIコンテナと呼ばれるフレームワ

    t-wada
    t-wada 2007/04/07
  • AS3で、DIとかゲームフレームワークとか | fladdict


    51yossyAS3DIUnitTest  AS3DI使DI使     3death使flight404 DI使
  • 2007-03-11


    MGoogleDIGuice1.0 使DIDI DISpring http://code.google.com/p/google-guice/wiki/SpringComparison URL :*1 Spring SpringDISpringGuice Spr
    2007-03-11
    t-wada
    t-wada 2007/03/13
  • google-guice - Google Code

    Put simply, Guice alleviates the need for factories and the use of new in your Java code. Think of Guice's @Inject as the new new. You will still need to write factories in some cases, but your code will not depend directly on them. Your code will be easier to change, unit test and reuse in other contexts. Guice embraces Java's type safe nature. You might think of Guice as filling in missing featu

    google-guice - Google Code
    t-wada
    t-wada 2007/03/09
    Google発のDIコンテナ
  • LiQ Container - LiQ Container


    LiQ Container ! LiQ Container  Java  LiQ Container  Dependency Injection    LiQ Container   Dependency Injection   Java    Dependency Injection
    t-wada
    t-wada 2007/01/04
    ところで名前の由来は利休なのだろうか