タグ

diに関するtwainyのブックマーク (10)

  • Apache Composer (arclamp.jp アークランプ)

    なんか、面白そうなプロジェクトが始まりそうです。昨日付けでApache ComposerというプロジェクトがApacheに提案されました(提案なので、この後、Incubatorを通ってから正式プロジェクトなので先は長い)。 Apache Composer is an embeddable Inversion of Control (IoC) container for general components (Java initially). Its characterizing elements are that it is small, favors Dependency Injection (over other IoC variants) and tries to remain agnostic when it comes to the need for its components

  • 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
  • Public Object: Refactoring to Guice: Part 1 of N

    In this N-part series, I'm attempting to document some patterns for improving your code with Guice. In each example, I'll start with sample code, explain what I don't like about it, and then show how I clean it up. The bad code They're everywhere! Static utility methods that depend on lots of stuff, which must in turn be static:public class PizzaUtilities { private static final int TIME_TO_PREPARE

    twainy
    twainy 2007/07/16
    Guiceを使ったリファクタリング
  • ひがやすを blog - [DI]DIって本当に必要? その2

    http://d.hatena.ne.jp/higayasuo/20070416#1176719022の続き。 それでは、DIContainerの機能で当に必要な2つの機能って何でしょうか。一つは、インスタンスのスコープ管理です。スコープとは、singletonだとかprototypeのようにインスタンスが存在する範囲のことです。たとえば、singletonの場合は、いつ取得しても同じインスタンスが返ってきて、prototypeの場合は、取得するたびに新しいインスタンスが返ってきます。 このスコープ管理は、単純にオブジェクトをnewしているだけでは達成できません。以前のコードを見てみましょう。 Service service = new Service();これは、ある意味prototypeですが、これをsingletonにしたい場合、次のようなコードにする必要があります。 Servic

    ひがやすを blog - [DI]DIって本当に必要? その2
    twainy
    twainy 2007/04/18
    スコープの切り替えとAOP
  • 【ハウツー】このバランス感覚、さすが - GoogleのDIフレームワーク"Guice"を使ってみる (1) Googleが開発したDI - Guiceとは (MYCOMジャーナル)

    Googleは3月8日(米国時間)、Guiceの初のメジャーリリースとなるGuice 1.0を公開した。GuiceはJavaで開発されたDI(Dependency Injection)フレームワーク。シンプルなアーキテクチャになっており、アノテーションやジェネリックを活用した開発が特徴。 Guiceが依存性注入できるのはコンストラクタ、フィールド、メソッドなど。セッターメソッドにかぎらず、複数の引数をとるメソッドに対しても適用できる。そのほかの特徴としてカスタムスコープ、環状依存への対応、スタティックメンバーのインジェクション対応、Spring Frameworkとの統合、AOP Allianceメソッドインターセプションなどがある。 Guiceはすでに数カ月にわたり、Googleにおけるミッションクリティカルアプリケーションにおいて採用されている。Google最大のアプリケーションである

    twainy
    twainy 2007/03/15
    GuiceにおけるDIはすべてソースコードレベルで指定する。良さ気だけどGoogleにしては芸が無いような
  • DI(依存性注入)を白紙から説明してみる - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「DI(依存性注入)からどこへ行こうか その1」において: DI(依存性注入)については、雑誌や書籍で随分紹介されているので、そういうのを見てください。 こんなこと[注:DI化]して何がうれしいかって? それは、ファウラー先生とかその他エライ人とかエラクない人とかに聞いてください。 と書きましたが、DI(Dependency Injection; 依存性注入)そのものについても説明を試みてみましょう。具体的なサンプルを使うことにします。そのため、サンプルの説明が長くなってしまうのが困ったことですが、まー、単なる能書きよりはサンプルがあったほうがいいでしょ。 内容: サンプルはテンプレート処理系 レクサー(字句処理系) レクサーをインターフェース経由で使う サービス・ロケーター 依存性が消えてない! DI(依存性注入)登場 DIが、かつてIoC(制御の逆転)と呼ばれていた理由 ●サンプルはテ

    DI(依存性注入)を白紙から説明してみる - 檜山正幸のキマイラ飼育記 (はてなBlog)
    twainy
    twainy 2006/09/27
    依存性注入=責務の逆転
  • DI(依存性注入)からどこへ行こうか その1 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    このエントリーは、ウチの工作員ショー君への業務連絡とか、新たな工作員勧誘とかの目的もあるのですけど、ふつうにソフトウェア関連ネタとして読めます。ソフトウェアのコンポネント化とコンポネント群の複合方式の話題です。 随分と長いので、2回(か3回)に分けてポストします。 ※印刷のときはサイドバーが消えます。 内容: DI(依存性注入) ポートベース・コンポネント 再びDI:フィールド・インジェクション ポート(あるいは男と女)を繋ぐワイヤー(あるいは赤い糸) 要求ポートと提供ポート これがポートベースHelloWorld それから その2 関連: ポートベース・コンポネント:ケーススタディ ポートベース・コンポネント:補足 DI(依存性注入)を白紙から説明してみる DI(依存性注入) DI(依存性注入)については、雑誌や書籍で随分紹介されているので、そういうのを見てください。Web上の解説記事「

    DI(依存性注入)からどこへ行こうか その1 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    twainy
    twainy 2006/09/25
    ポートベースコンポーネントを用いたDI
  • Inversion of Control コンテナと Dependency Injection パターン

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

    twainy
    twainy 2006/09/25
    いかなる実装でも動作可能にするのではなく、後から実装をプラグインさせるようにする。3つのIoC、コンストラクタインジェクションがお勧め
  • Ajax in Action

    News April 08, 2024 08 Apr'24 Worlds toughest core Java interview question The trickiest Java interview question ever asked? In five words or less, explain the red 'x' the Eclipse IDE displays at the end of the provided Java code snippet. March 04, 2024 04 Mar'24 Best crash course to learn Jenkins from scratch Need to learn Jenkins CI fast? This Jenkins tutorial will quickly get you up to speed on

  • プログラミングと開発者のためのCodeZine:DIをスクリプト言語で実装する(Java, DIコンテナ, スクリプト)

    はじめに DIコンテナのオブジェクト依存性の注入定義には、XMLベースの設定ファイルを用いることが主流ですが、「ツール無しでは視認性が悪い」「記述が面倒」といった使いにくさから、あまり手軽ではないと感じる時があります。 そこで、「変更容易な外部ファイルでDIの定義を行う」という前提で、もっと手軽に使える手段としてスクリプト言語を利用する事を考えてみました。 実装手段として、Java SEの次期バージョンJava SE 6で採用予定のJSR223(Scripting for the Java Platform)仕様を用いた場合と、現J2SE 5.0で実現する場合の2通りを考える事とし、以下のスクリプト言語を採用しました。JavaScriptJava SE 6環境)Groovy(J2SE 5.0環境) 必要な環境Java SE 6  もしくはJ2SE 5.0Groovy 1.0 jsr05

    twainy
    twainy 2006/05/30
    スクリプト言語使ってDIを実現する。特にいいやり方とも思えないけどこういうやり方もあるという事で。
  • 1