タグ

DIに関するshckorのブックマーク (7)

  • Dependency Injection の基本的なアイディア - bkブログ

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

  • CatalystとDIが繋がりそうなメモ - shckorの日記

    ブックマークはしたけど、関連を忘れそうなのでメモ。 Lost-Season: Catalyst内部の動作を追ってみる Tociyuki::Diary - Perlによる依存性の注入のデモ Dispatcher が Catalyst 内での DI コンポーネントみたいな役割を果たしているのかなぁなんて予想してみる。 (“予想”なのは、ちゃんとCatalystのドキュメントを見ていないから・・・すんません) あと、これも気になる。ポイント持ってたらのっかりたいくらい。 bk1はてな ウェブアプリケーションのフレームワークの設計(デザインパターンの組み込み方とか、その他)について参考になりそうな書籍を教えてください。

    CatalystとDIが繋がりそうなメモ - shckorの日記
  • による依存性の注入のデモ - Tociyuki::Diary

    いまさらながらですが、依存性の注入(Dependency Injection: 略してDI)の動作をキーボードを打つ指で実感したかったのでシンプルなデモをPerlで作ってみました。JavaにはSpring、RubyにはNeedleやCoplandなどのDIフレームワークがありますけど、Perlでは目立たないなと思って書いてみました。 DIでのコンポーネント生成は、has-aの関係にある複数のクラスのインスタンス群をDIコンテナが作りあげ、has-a関係をプロパティへの注入記述に従って組み立てます。そのまんまの動作をさせることにします。 デモですから、構成はシンプルにしたい。そこで、セッター・インジェクションに限定します。さらに注入できるのは、コンポーネントとPerlのオブジェクトやスカラーやリファレンスに限定します。前者の場合は、クラス名からインスタンスを新しく生成し、後者の場合は単に値を

    による依存性の注入のデモ - Tociyuki::Diary
    shckor
    shckor 2005/06/26
  • DIContainerへの注釈 - Tociyuki::Diary

    PerlによるDependency Injection (DI)のとってもシンプルなデモを読む上でのポイントを書いておきます。 ⇒ https://tociyuki.sakura.ne.jp/archive/didemo.pl ポイント1. バインド記述の末端要素は文字列です コードリファレンスなど使っていません。これでVMの内部リソースからバインド記述を分離することができます。 ポイント2. バインド記述は外部リソースに分離可 デモを一つにまとめるためにバインド記述をソースコードに含めましたが、無名ハッシュ部分を外部ファイルに移し、それを読み込んでevalするように変更すると外部リソースに分離できます。 ポイント3. コンストラクタ Perl5ではコンストラクタは必ずしも必要ではありませんが、それではDIコンテナが書けませんので、名前をnewに固定しパラメータなしで呼び出し可能と仮定しま

    DIContainerへの注釈 - Tociyuki::Diary
    shckor
    shckor 2005/06/26
  • Inversion of Control コンテナと Dependency Injection パターン

    以下の文章は、Martin Fowler の「Inversion of Control Containers and the Dependency Injection pattern」を、かくたにが翻訳したものです。原著者の許可を得て翻訳・公開しています。 翻訳にあたっては、kdmsnr さんにご協力をいただきました。ありがとうございます。公開後の改訂履歴を記事の最後に記述しています。 Java コミュニティでは軽量コンテナが花盛りである。 軽量コンテナは、異なるプロジェクトのコンポーネントをひとまとまりのアプリケーションとして組み立てることを支援する。 このようなコンテナの根底には、コンポーネントの結び付け方についての共通したパターンがある。 そのパターンのコンセプトは「Inversion of Control(制御の反転)」と、まことに包括的な名前で呼ばれている。 記事では、このパタ

  • Java開発を変える最新の設計思想「Dependency Injection(DI)」とは:ITpro

    「DIする」,「インジェクション(注入)する」──新しい技術に敏感なソフトウエア開発者たちの間で使われている言葉である。DIとは,「軽量コンテナ」を実現する新しい設計思想Dependency Injection(依存性注入)の略称である。同じ概念をIoC(Inversion of Control,制御の反転)と呼ぶ場合もある(詳細は後述)。「DIする」と言えば開発者の間では通用するぐらいに,この設計思想は注目されているのだ。 DIが注目される理由は簡単だ。ソフトウエア開発者の開発サイクルを大幅に改善するからだ。筆者が司会を担当した「軽量コンテナ」に関するパネル・ディスカッション(注1)では,DIを適用した軽量コンテナ「Spring Framework」のおかげで「睡眠時間が確保できるようになりました」と複数のパネリストが真顔でコメントしたほどである。DIは,それだけ有効な技術なのだ。 注1

    Java開発を変える最新の設計思想「Dependency Injection(DI)」とは:ITpro
  • 「従来のEJBは存在自体が間違いだった」,軽量コンテナ「Spring Framework」開発者のRod Johnson氏吠える:ITpro

    「従来のEJBは存在自体が間違いだった」,軽量コンテナ「Spring Framework」開発者のRod Johnson氏吠える 「エンティティBean(EJB:Enterprise JavaBeansに含まれるデータベース・アクセスのカプセル化機能)なんてないほうがよかった。エンティティBeanのせいで2~3年が無駄に失われてしまった」。現在,最も影響力のあるJava関連技術者の1人であるRod Johnson氏は,2005年6月21日に東京で開催された「JavaWorld DAY 2005」で,従来のJ2EE/EJBがいかに間違った存在だったかをとうとうと語った。「米国や英国で,新規のプロジェクトがエンティティBeanを採用したという話は,もはや1件も聞かない」。 Johnson氏は,広く使われている軽量コンテナ「Spring Framework」の開発者。J2EE開発者に大きな影響を

    「従来のEJBは存在自体が間違いだった」,軽量コンテナ「Spring Framework」開発者のRod Johnson氏吠える:ITpro
  • 1