タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

DIに関するsasaplus1のブックマーク (4)

  • 要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

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

    要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    sasaplus1
    sasaplus1 2014/02/13
  • PHPのDIで動的にオブジェクトを確保する考察

    Dependency InjectionがPHPでも流行っているそうです。が、未だによくわからないので、わからないところを自分なりに考察してみます。 ※DIコンテナではなくデザインパターンとしてのDIを考えます。 Dependency Injectionとは Dependency Injectionはデザインパターンの一種です。日語なら依存性の注入と訳されます。「Inversion of Control コンテナと Dependency Injection パターン」が原典でしょうか。 ざっくり要約すると「クラスの中でnewしてはいけない。必要なインスタンスは外から突っ込むべし」というところかな。 class Y { private $x; function __construct() { $this->x = new X; } //...$xを使ったコード色々... } 上記のYクラス

    PHPのDIで動的にオブジェクトを確保する考察
  • DIのアンチパターン - Fly me to the Luna

    ってそろそろ語られててもおかしくないですね。インターフェース不要論って、実はDI不要論の事なんじゃないのかと思うんですよ。「DI」って、とてもいい概念なんですが、使い始めるとDIコンテナを対象にこれでもか!とPOJOのプロパティ設定を書き始めた事がありました。最近はそんな過去のおいらに、「おいちょと待てよ」と声をかけたくなってきました。 要するに言いたいのは、DIコンテナを過度に使いすぎるな、という事と、プログラムの再利用にDIコンテナを利用すると面倒なことがあるよ、という事。 DIのDは依存性のDなんですよね。何かに依存するようなDを設定として切り出す訳です。それってなんよ?と考えてみたところ、「環境」のことだったりするのではないかと思うんです。例えばテスト環境と、開発用のAP環境と、プログラム結合用のAP環境で接続するDBが違う、そんな場合にDIは有効です。アプリケーションが永続化処理

    DIのアンチパターン - Fly me to the Luna
    sasaplus1
    sasaplus1 2011/07/05
  • DIコンテナの本当の使いどころ | ウルシステムズ株式会社

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

    DIコンテナの本当の使いどころ | ウルシステムズ株式会社
    sasaplus1
    sasaplus1 2011/07/05
  • 1