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

タグ

diに関するimai78のブックマーク (12)

  • DIコンテナは本当に必要なところに使えばいいのでは? - 418 | I'm a teapot

    ちょっと前からDIコンテナの必要性について考えているのだけど、 結論としては「DIコンテナは必要なところに使えばいい」と思う。 必要なところの例は、DBコネクション周りの設定ファイルを 番環境と開発環境で変わる場合。 DBの接続先が変わる(または変える予定がある)場合は、 そこはDIや設定ファイルとして外部で制御できるようにすべき。 ただ、こういう環境の差異の吸収目的以外の使用でDIが絶対に必要になる という箇所はあまり思いつかない。 テスティングしやすくするためにDIコンテナ使うのだったら、 TDDで書いてテスティングの時だけDIコンテナ使えばいいのでは?と思う。 で、自分なりに考えたSlim3にDIコンテナが無い理由なんだけど、 App Engineの場合、DIが必要になりそうな「番と開発環境の差異」を Googleが提供しているもので吸収することができるから。 Slim3だとAp

    DIコンテナは本当に必要なところに使えばいいのでは? - 418 | I'm a teapot
  • @IT:Spring Frameworkで理解するDI(1)

    DI:依存性の注入とは何か?:Spring Frameworkで理解するDI(1)(1/3 ページ) Javaエンジニアであれば最近、「Dependency Injection」や「DIコンテナ」「Spring」、または「Seaser2」といった名前を目にしたことがあるのではないでしょうか。これらは次世代のEJB(EJB 3.0)に取り込まれる動きがあるなど、最近非常に注目されているキーワードであり、今後のJava開発を語るうえで避けては通れない概念の1つになるとされています。 この連載は、「Spring」というフレームワークを利用して、J2EE開発における「Dependency Injection(DI)」というデザインパターンから得られるメリットを紹介し、J2EEの今後の方向性を理解する助けとしていただくことを目的としています。 Dependency Injection:依存性の注入

    @IT:Spring Frameworkで理解するDI(1)
  • 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
  • DI(依存性の注入)×AOP(アスペクト指向)の常識

    DI(依存性の注入)×AOP(アスペクト指向)の常識:企業システムの常識をJBossで身につける(3)(1/4 ページ) 企業向けアプリケーションのさまざまな“常識”をJavaのオープンソース・フレームワーク群である「JBoss」から学んでいきましょう。企業システムを構築するうえでの基礎となる知識をリファレンス感覚で説明していきます。初心者から中堅、ベテランまで大歓迎! 前回の「“全部入り”のEclipseで学ぶ統合開発環境の常識」では、企業向けアプリケーションを構築する際に必要な要素として「統合開発環境」について説明し、実際にサンプルアプリケーションを作成し、企業向けアプリケーションの構築における、統合開発環境の機能やその重要性を学びました。 今回は、DIやAOPを通して、それらに関連するフレームワークやJBossのソフトウェアについて説明していきたいと思います。 企業向けアプリケーショ

    DI(依存性の注入)×AOP(アスペクト指向)の常識
  • 第6回 DIフレームワークGuiceで,さらばXML!:ITpro

    株式会社DTS ネットワーク事業部所属。Struts/Springベースのフレームワークの研究開発を中心に業務を行っている。また,フレームワークの利用や開発プロセスに関する講師も行っている。 株式会社DTS ネットワーク事業プロジェクトマネージャ。Javaを中心にフレームワーク開発や開発プロセス定義など幅広く活躍中。StrutsIDEコミッタ。著書「まるごとEclipse! Vol.1」(発行:インプレスコミュニケーションズ)。 今回は,米GoogleJavaで開発したDI(Dependency Injection)フレームワーク「Guice(ジュース)」を取り上げます。単体で使用することはもちろん,Webアプリケーションに組み込む方法や,Spring FrameworkやDWRとの連携も解説します。 XML定義ってうれしいですか? Springをはじめとするフレームワークにより

    第6回 DIフレームワークGuiceで,さらばXML!:ITpro
  • DI&AOPパフォーマンス比較 - ひがやすを技術ブログ

    明日のjava-ja@富山で、話すネタとして、DIContainerのパフォーマンス比較をしてみました。使ったのは、Spring, Guice, Seasar2.4, Slim3です。 DIのテストは、プロトタイプのBean同士のsetter injection。AOPのテストは、 何もせずにもとのメソッドを呼び出すだけの単純なものです。 使ったプロジェクトは、http://svn.slim3.org/browse/trunk/container-benchmark/においてあります。 結果はこんな感じ。 最初はDI。それぞれ10000回ループさせるテストを5回繰り返しています。 Slim3 DI: 319120167 nano Seasar2 DI: 350858838 nano Guice DI: 283541623 nano Spring DI: 657129328 nano - S

    DI&AOPパフォーマンス比較 - ひがやすを技術ブログ
  • S2AOPを読む - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥

    動機 仕事でSAStrutsを使うことになったけどストラッツとかディーアイとかエーオーピーとかわかんないです。 目的 メソッド呼び出しがインターセプトされるまでの流れを理解する。インターセプタの起動順序はどこで決まるのか把握。 更新履歴 20090327 MethodInvocation#proceedの使われ方について加筆 このコードの流れを追ってみる http://s2container.seasar.org/2.3/ja/aop.html#nodicon Pointcut pointcut = new PointcutImpl(new String[]{"getTime"}); Aspect aspect = new AspectImpl(new TraceInterceptor(), pointcut); AopProxy aopProxy = new AopProxy(Date.

    S2AOPを読む - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥
  • DIのインジェクション種類まとめ - おおたに6号機blog

    なんか土日ふくめ最近何故かそういう機会が幾度かあったので、DIのインジェクション種類をまとめてみます。 DI(Dependency Injection)の種類には幾つかあって、特性が少しづつ違う(少なくとも僕はそう思ってる)ので その違いがある程度クリアになればというのが意図です。 というわけでまとめてみました。 候補は以下の4つです。 セッターインジェクション コンストラクタインジェクション メソッドインジェクション フィールドインジェクション セッターインジェクション セッターインジェクションは最も標準的なタイプのインジェクションです。 public void setExecutor(Executor executor) { this.executor = executor; }のようにJavaBeans仕様に従って、セッターを準備しておけばよいだけ。 基的にはどのDIコンテナ(とい

    DIのインジェクション種類まとめ - おおたに6号機blog
    imai78
    imai78 2009/02/24
    分かり易いなー。っていうか、ちゃんと深くDIを考えたことなかったので凄く勉強になった。
  • IoCについて調べてみる

    cles::blog 平常心是道 blogs: cles::blog NP_cles() « 日休業 :: 映画観てきました » 2004/04/26 IoCについて調べてみる  aop 70 0へぇ AOPの研究絡みでJbossAOPなんかを調べていたら、いろいろなところでIoCという単語が出てきた。 ちょっと気になるのでいろいろと調べてみたら、リファクタリングなんかで有名なMartin Fowlerが書いたInversion of Control Containers and the Dependency  Injection patternというものを見つけた。 かくたにさんが翻訳された日語訳も公開されている。 † IoCとは Spring Pad - Inversion of Control "IoC(Inversion of Control)はデザインパターンの一種で、協調し

    IoCについて調べてみる
  • higaさんによるダイコン時代の設計方法 - tpircs

  • 機能テスト/結合テストのTestability向上のための定義分割 - dann's blog

    定義分割をするのは「結合テストのTestabilityの向上」をするためだと思っています。 「インジェクションするセットを一括で変更することにより、環境依存部分を切り離してPOJOだけでテストをできるようにするにし、Testabilityを向上させる」ことが定義分割をするための意味になります。 では、結合テストのTestabilityの向上の観点から分割方法を考えてみます。 定義の分割方法 コンポーネント分割 コンポーネント分割は、複数のコンポーネントが結合している場合に、複数のコンポーネントを一括で置き換えることができ、コンポーネント単体の結合テストをやるときに役に立つのでありです。 コンポーネント単体での結合テストが簡単に実現できるために、コンポーネント全体の結合テストを実施した際に、どのコンポーネントに問題があるのかの切り分けがしやすくなります。 レイヤ分割 レイヤ分割は、POJO版

    機能テスト/結合テストのTestability向上のための定義分割 - dann's blog
  • DIのお話を書いてみる。 - 都元ダイスケ IT-PRESS

    まず。この物語はフィクションであり このエントリ上のコードはあくまでもチュートリアル用のコードであり、実用性に関しては(ry という訳で、id:happy_ryoのリクエストにお応えして、DIのお話。Seasar2を使ってみます。 ポリモーフィズムの例をもうちっと実用的に書いてみた。 - 都元ダイスケ IT-PRESSの続きです。 まずはいきなりMain見てみますか。 import org.seasar.framework.container.S2Container; import org.seasar.framework.container.factory.SingletonS2ContainerFactory; public class Main { public static void main(String[] args) { Table table = new Table("T_

    DIのお話を書いてみる。 - 都元ダイスケ IT-PRESS
    imai78
    imai78 2008/05/11
    ふむ、なんだかとても分かりやすいゾ
  • 1