[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

DIに関するyou21979のブックマーク (11)

  • 依存性の注入 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "依存性の注入" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2021年6月) 依存性の注入(いぞんせいのちゅうにゅう、英: Dependency injection)とは、あるオブジェクトや関数が、依存する他のオブジェクトや関数を受け取るデザインパターンである。英語の頭文字からDIと略される。DIは制御の反転の一種で、オブジェクトの作成と利用について関心の分離を行い、疎結合なプログラムを実現することを目的としている。 dependencyを「依存性」と訳すのは来の意味[1] から外れているため「依存オブジェクト注入」の用語を採用す

    you21979
    you21979 2014/09/01
  • DIコンテナとStrategyパターン

    日のカクテルはDIコンテナです。 こちらのカクテルはオブジェクト指向をベースとしてますので、苦手な方は無理なさらずに。 レシピはオブジェクト指向3/4にStrategyパターンを1/4をステア。マティニのようなショートカクテルに仕上がります。 Java界隈では2004年頃からにわかに熱を帯びていたDIコンテナ(当時はIoCコンテナと呼ばれていた)ですが、一体何者なんだろう? その掴みどころのなさは、そのメリットがどうにも抽象的に語られるからではないでしょうか。 そのメリットは「オブジェクト間の疎結合」などと言われますが、これはオブジェクト指向を学んだ技術者でも いまいちイメージしにくいメリットです。いや、メリットはわかったとしてもどうやって?そんなものフレームワークになりえるの? と疑問は尽きない、そんな話だと思うのですね。この胡散臭さが敬遠されているのではないでしょうか。 今回はソース

    you21979
    you21979 2014/09/01
    DSLと密接
  • C#でDIを実装 - niyoな日記

    依存性の注入 (いぞんせいのちゅうにゅう、Dependency Injection)とは、 コンポーネント間の依存関係をプログラムのソースコードから排除し、 外部の設定ファイルなどで注入できるようにするソフトウェアパターンである。 依存性の注入を利用したプログラムを作成する場合、 コンポーネント間の関係はインターフェースを用いて記述し、 具体的なコンポーネントを指定しない。 具体的にどのコンポーネントを利用するかは外部ファイルに記述することで、 コンポーネント間の依存関係をソースコードから排除できる。 DIのインタフェースは主にStrategy パターンの為の規約であると考えている。 Strategy パターンはアルゴリズムを動的に切り替え可能な仕組みである。インタフェース(interface、base class)で内部構造を公開し、派生クラス先で独自の実装が可能とする。 複数の派生クラ

    C#でDIを実装 - niyoな日記
    you21979
    you21979 2014/09/01
  • Cocoa勉強会関西で Singleton を思いきりdisってきた - kanizaのブログ

    昨日(6/1)、はてな京都オフィスで開催されたCocoa勉強会関西で「ワタシは Singleton がキライだ」というタイトルで発表してきた。内容について興味のある方はスライドを SlideShare に載せたのでそちらを見てください。 (2013/6/8 追記: この発表で使ったサンプルとだいたい同じものを GitHub で公開しました。CoreDataBooks ではなく、Core Data アプリのテンプレートをベースにしたものになっています) 時間はだいたい30分くらいが基なんだけど、今回はちょっと気合いを入れて45分枠をもらった。 今回発表したようなテーマには、個人的には10年近く前に Java プログラマをやっていた頃から取り組んでいて、当時からはてなダイアリーに書いたりしてた(この記事とかこの記事とか)。Java 方面では Spring やら Google Guice とい

    Cocoa勉強会関西で Singleton を思いきりdisってきた - kanizaのブログ
    you21979
    you21979 2014/09/01
  • DIコンテナの本当の使いどころ | ウルシステムズ株式会社

    DI の自由度は諸刃の剣 近ごろ、「実プロジェクトでDIコンテナ(注1)を導入している」という話をちらほら耳にするようになりました。それと同時に、「DIコンテナを使ったプロジェクトが大変なことになっている」という話も耳にするようになりました。DIの魅力を十分に享受して低コスト、高品質を実現しているプロジェクトがある一方で「DIを導入してみたのはいいのだけれど、DIの設定ファイルが大きくなりすぎて管理しきれない」「DIを使っているのに、テスタビリティが全然向上していない」など苦労しているプロジェクトもあるようです。この差はいったいどこから来るのでしょうか。 DIは、EJBなどと比べると比較的取っ付きやすい技術ではありますが、ほかの技術同様、誤った使い方では十分に力を発揮できません。DIコンテナは非常に単純明快な技術ではありますが、そのシンプルさ故に自由度が高くさまざまな使い方ができます。その

    DIコンテナの本当の使いどころ | ウルシステムズ株式会社
    you21979
    you21979 2014/09/01
  • 猿でも分かる! Dependency Injection: 依存性の注入 - Qiita

    はじめに アホでもわかるように解説してみるテスト。 あらゆる方向で説明してみる。 大雑把にまとめると「依存していた部分を、外から注入すること」です。 勘違い、間違いが沢山ありそうなので、是非ご指摘を! 登場人物 (用語) 依存性の注入 (日語) Dependency Injection (英語) DI (Dependency Injectionの略語) 依存関係を設定ファイル等で定義してよろしくやってくれる「DIコンテナ」については書いておりません! 何が問題なの? クラス内などで固定化されたものがあると 柔軟性がない テストしにくい 解決方法 「依存している部分を外から注入する」 DIにおける「依存性」と「注入」の意味 依存性 (大雑把に)とあるクラスに、固定の定数、変数、インスタンスが入っちゃっている状態 つまりそのクラスは、その定数、変数、インスタンスに依存している 注入 そのクラ

    猿でも分かる! Dependency Injection: 依存性の注入 - Qiita
    you21979
    you21979 2014/09/01
  • .NET開発者のためのDI&AOP入門(前編) ― @IT

    “DI”や“AOP”というキーワードを耳にしたことがあるだろうか。これらのテクノロジは、.NET技術者にはまだまだ普及していないのが現状だが、Java開発での長年の利用結果から見ても開発生産性を飛躍的に高めてくれるテクノロジであることは間違いなく、.NET開発でも必ず役立つものであり、むしろ使わない手はない。従って、できるだけ多くの.NET開発者にこれらのテクノロジの良さを知っていただき、有効に活用していただきたいと筆者は考えている。 そこで稿では2回にわたり、前編でDIを、後編でAOPを紹介していきたいと思う。稿を通して.NET開発におけるDIとAOPの有効性と可能性を感じ取っていただければ幸いである。 ■1. DIとAOPを理解するためのサンプルの作成 DI(Dependency Injection。依存注入)とAOP(Aspect-Oriented Programming。アスペ

    you21979
    you21979 2014/09/01
  • ScalaでDIするには

    Toshiyuki Takahashi @tototoshi ScalaでDIするのほんとにCakePatternでいいんだろうか。要素が増えるとDIするためだけのコードが増えて疲れる。割り切ってDIコンテナ使っちゃえば悩みから解放される気がする。

    ScalaでDIするには
  • DIコンテナの本当の使いどころ | ウルシステムズ株式会社

    DI の自由度は諸刃の剣 近ごろ、「実プロジェクトでDIコンテナ(注1)を導入している」という話をちらほら耳にするようになりました。それと同時に、「DIコンテナを使ったプロジェクトが大変なことになっている」という話も耳にするようになりました。DIの魅力を十分に享受して低コスト、高品質を実現しているプロジェクトがある一方で「DIを導入してみたのはいいのだけれど、DIの設定ファイルが大きくなりすぎて管理しきれない」「DIを使っているのに、テスタビリティが全然向上していない」など苦労しているプロジェクトもあるようです。この差はいったいどこから来るのでしょうか。 DIは、EJBなどと比べると比較的取っ付きやすい技術ではありますが、ほかの技術同様、誤った使い方では十分に力を発揮できません。DIコンテナは非常に単純明快な技術ではありますが、そのシンプルさ故に自由度が高くさまざまな使い方ができます。その

    DIコンテナの本当の使いどころ | ウルシステムズ株式会社
  • ワタシはSingletonがキライだ

    13. 典型的な実装 + (id)sharedInstance { static HogeManager *instance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ instance = [[self alloc] init]; }); return instance; } このクラスメソッドでのみアクセスさせる

    ワタシはSingletonがキライだ
    you21979
    you21979 2013/09/22
  • DI コンテナがコードに出現するのは dependency lookup が行われている兆候

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

    DI コンテナがコードに出現するのは dependency lookup が行われている兆候
    you21979
    you21979 2013/05/19
  • 1