タグ

DIに関するt_43zのブックマーク (19)

  • InversifyJS

    InversifyJS is a lightweight inversion of control (IoC) container for TypeScript and JavaScript apps.

    InversifyJS
  • GitHub - googlearchive/tiger

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - googlearchive/tiger
  • GitHub - google/dagger: A fast dependency injector for Android and Java.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - google/dagger: A fast dependency injector for Android and Java.
  • 「なぜDI(依存性注入)が必要なのか?」についてGoogleが解説しているページを翻訳した  - Qiita

    イマイチ理解しきれていなかったDIに関して調べていところ、Google Guiceの解説がすごく分かりやすかったので、和訳してみました。 (ところどころ意訳気味です。明らかに解釈の誤った訳がありましたら、ご指摘ください) ちなみにGoogle Guiceというのは、Googleが開発したDIライブラリです。この例ではJavaが使用されていますが、Scalaでも使用可能です。最近Play Frameworkでも採用されたので話題になっているようです。 用語の定義 文を読む前に目を通すことで、内容をスムーズに理解できます。 用語 意味 文中の例

    「なぜDI(依存性注入)が必要なのか?」についてGoogleが解説しているページを翻訳した  - Qiita
  • 作って理解するDIコンテナ - きしだのHatena

    DIコンテナ使ってるけど、アノテーションってなんなの!って聞かれて、作ってみたらわかるよと答えてみたので、自分でも作ってみました。 よくわかった。 「DIコンテナ使うと何がいいの?」ということも、作ってみるとわかります。あと「DIって何がいいの?」に関しては、「DIはちょっとコードを書くのが楽になるだけで、それだけあっても仕方ない、大事なのはコンテナ」と答えるようにしてますが、コード比率からもそれがよくわかります。 続編としてWebフレームワークも作っているので参考まで。 作って理解するWebフレームワーク - きしだのHatena まずはコンテナを作る とりあえず1ソースの状態で。 こんな感じで、管理する型を登録できるようにします。 static Map<String, Class> types = new HashMap<>(); static void register(String

    作って理解するDIコンテナ - きしだのHatena
    t_43z
    t_43z 2016/04/21
  • 要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    友人から「しんぺいさん DI について書いてほしい」みたいな話をだいぶ前からされてたんだけど書く気力ずっとなかった。でも仕事の気分転換にちょっとずつ書いたやつがいい量まとまったので公開するです。たいしたことは書いてないっていうか知ってるひとにはあたりまえのことしか書いてない。サンプルコードはわたしの趣味Scala で書いてあるが、Java が読めればなんとなく読めると思います。 DI ってなに Dependency Injection、日語で言えば依存性の注入です。おしまい。 で記事を終えてもいいんだけど、そもそも依存性とはなんなのか、それを注入するとはどういうことなのか、なぜ DI が必要となるのかみたいな話をこれからします。 そもそも依存性ってなあに 例を出します。入力された文字列をもとにおみくじをひいて、その結果を twitter に投稿するプログラムにしましょう。 まずは普通

    要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    t_43z
    t_43z 2014/02/13
  • containerjs - Google Code

    Code Archive Skip to content Google About Google Privacy Terms

  • App Engine上でDIやりたかったのでGuice使った - IT-Walker on hatena

    このエントリは完全に自分用の備忘録です。後で設計判断の根拠を思い出すため。 今、GAE/Jを使ってちょこちょこプログラミングをしているのですが、やっぱりDIコンテナを使いたい。 と言う事で無条件に(昔から慣れ親しんでる)Spring Frameworkを使おうかと思ったのですが、JSR-299やJSR-330との兼ね合いもあって、やはり将来的に標準へと移行する事を見据えたプログラミングをしたい。 ってことで、「Google App Engine上でも動く」と言われているDIコンテナであるSpring/Guice/Weldと言う選択肢でいろいろ悩んだんですが、結局Guiceにしました。それぞれのDIコンテナに対するぼくの認識としては Spring Framework・・・利点としては、DIの世界でデファクトを続けてきただけあって、Spring対応を謳うライブラリが星の数ほどある。選び放題。欠

  • 2009-05-22

    @Inject仕様をJCPにドラフトとして提出した模様。 どうやらSpring、Guiceだけでなく、PicoContainer、Plexus、あとTapestry IoCの人も参加するようです。 記述内容をざっと読むと、どうやらメインターゲットがJavaSEでJDK5から使えるようにしようとのことみたい。 なので、JavaEEじゃなくても使える点が好印象。非常にロウレベルなAPIを提供するんだというのが仕様全体に書かれているので、 そういうJSRはなんとなくよい気がします。 ポイントになりそうな点を幾つか。 Java SE 5 will be the minimum requirement, but Java SE 6 and 7-specific features will be available on those platforms. APIjavaxでなくて、もしかしたらjav

    2009-05-22
    t_43z
    t_43z 2009/05/22
  • Java EE終了のお知らせ - ひがやすを技術ブログ

    Web Beans(JSR299)に対抗して、Guice, Spring連合が新しいDIの仕様を出してますね。 http://google-code-updates.blogspot.com/2009/05/javaxinjectinject.html 超ざっくばらんに言うと、まぁGuiceですな。 なぜ、この時期に、Web Beansとかぶるような仕様を出してきたかというと、Web Beans(Gavin)の政治的な動きに対して、Guice(Bob Lee)も政治的な動きで対抗したというところでしょう。あくまでも私見ですが。 これに対して、Gavinが反論を書いていて、それに対して、Bob Leeがさらに答え、子供の喧嘩みたいになっています。 http://in.relation.to/Bloggers/CommentsOnAnnotationsForDependencyInjectio

    Java EE終了のお知らせ - ひがやすを技術ブログ
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • プログラム間にボタンを掛ける「DI/AOP」(後編)

    >>前編 DI DIコンテナがどのような仕組みでDIを実現しているのか見ていこう。 親クラスAに子クラスBを引き渡す場合で考える。まずDIコンテナには(1)クラス間の関係(依存性)を記述した設定ファイルを登録しておく(図1)。代表的なDIコンテナであるSeasar2やSpring Frameworkでは,この設定ファイルはXMLで記述する。そして,(2)クラスAを取得したいという要求をDIコンテナが受け付けると,(3)DIコンテナがクラスAに関する設定ファイルを読み取る。(4)設定ファイルに従って,クラスAと,関連するクラスBを生成する。(5)インタフェースを介して,クラスBをクラスAに引き渡す,といった仕組みである。もしクラスAに引き渡すクラスを削除したい場合は,「クラスBを生成する,クラスBをクラスAに引き渡す」といった設定を,設定ファイルから削除すればよい。 図1●DIコンテナの仕組

    プログラム間にボタンを掛ける「DI/AOP」(後編)
    t_43z
    t_43z 2008/03/06
    「DIコンテナを使うには,設定ファイルが必須。」設定ファイルが不要なDIコンテナもあるんですけど・・・
  • プログラム間にボタンを掛ける「DI/AOP」(前編)

    「DI(Dependency Injection)」および「AOP(Aspect Oriented Programming)」と呼ばれる技術が注目を集めている。これらはオブジェクト指向プログラミングにおけるプログラムの単位であるクラスを,互いに結び付ける新たな技術である。システムへの機能変更ニーズが高くなり,さらに開発期間が短くなっている開発の現場において,開発の効率化や品質向上を実現する新たな手段として期待されている。まずはオブジェクト指向プログラミングにおける課題を明らかにし,DIやAOPがそれらをどう解決できるのかを見よう。 DIでクラスを容易に付け外す オブジェクト指向プログラミングの一つ目の課題として,「変更時にクラスの修正が必要になる」ことがある。そもそも,オブジェクト指向で開発したプログラムは,オブジェクト指向ではないプログラムと比べ,機能の削除や変更が容易であることが特徴だ

    プログラム間にボタンを掛ける「DI/AOP」(前編)
    t_43z
    t_43z 2008/03/05
  • .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。アスペ

  • Inversion of Control コンテナと Dependency Injection パターン

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

    t_43z
    t_43z 2007/04/08
  • 第4回 GBean×DI徹底解剖

    コンポーネントの疎結合化・再利用を促す手法であるDI(Dependency Injection)ですが、Geronimoカーネルの最大の特徴は、GBeanの取り扱いにこのDIの考え方を取り入れている点と言えるかもしれません。今回は、GBeanに活用されているDIの仕組みを紹介します。 最近「DI(Dependency Injection)」という言葉をよく耳にするようになりました。DIとは、コンポーネントの疎結合化・再利用を促す手法として非常に注目されています。コンポーネント内部にほかのコンポーネントへの依存を直接記述せず、外部ファイルに定義します。稼働時はDIコンテナと呼ばれる軽量コンテナによって依存性が注入されることによって、柔軟性・再利用性を確保します(詳細については、書籍「Seasar入門 はじめてのDI&AOP」のほか、各種技術サイト、技術ブログなどが参考になると思います)。 そ

    第4回 GBean×DI徹底解剖
  • 【ハウツー】Seasar 2.4リリース! 今更でも恥ずかしくない、始めてみようDIプログラミング (1) DIプログラミング - Seasar S2Containerで体験してみよう | エンタープライズ | マイコミジャーナル

    Javaプログラミングにおいて、クラスの独立性を高め、再利用性の高さ、実装の入れ替えの容易さ、アスペクトの自動的な適用、ホットデプロイなどサーバデベロップメントに欠かせない機能を実現するための基盤技術のひとつにDI(Dependency Injection)がある。DIはインタフェースと実装の完全な分離を目指し、主にDIコンテナと呼ばれる専用の実行環境/フレームワークを通して実現される。 DIコンテナの実装はいくつかあるが、ここでは11日に最新版の2.4.0(2.4.1)がリリースされたSeasar 2.4(S2Container 2.4)を取り上げて紹介したい。Seasar 2.4はThe Seasar Foundationによって開発がおこなわれているプロダクトで、周辺プロダクトの充実や日語ドキュメントの充実など、国内におけるエンタープライズ向けWebアプリケーションシステム開発用の

  • Spring - Apache Wicket - Apache Software Foundation

  • Executing scripts on a remote machine - Marigan's Weblog

    t_43z
    t_43z 2006/10/24
  • 1