タグ

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

  • 関連タグはありません

タグの絞り込みを解除

TypeScriptとtypescriptとDIに関するAkinekoのブックマーク (3)

  • TypeScriptによるDependency Injection入門:DIコンテナを自作して内部構造を理解する

    はじめに 私は初めてDependency Injection(依存性注入)という概念に出会ったのは、NestJSのドキュメントを読んでいるときでした。その時、providerや@Injectable()は何なのか?といった素朴な疑問を感じましたが、ドキュメントを読んでもすぐには理解できず、そのまま一度放置しました。 最近、業務で触れているAPIサービスではNestJSではなく、InversifyJSというライブラリを使用してDependency Injectionを実装しています。これを機に、DIについてもう一度学び直すことにしました。そして、自分が調べて理解したことをまとめて共有したいと思います。 この記事では、以下のような疑問に答える形で情報をまとめています: Dependency Injectionは何?なぜ使うのか? Dependency Injectionはどのように実装されてい

    TypeScriptによるDependency Injection入門:DIコンテナを自作して内部構造を理解する
  • TypeScript の DI 手法あれこれ - Object.create(null)

    TypeScript で DI (依存性注入) するためのライブラリを作ったんですが, それを紹介する前に既存手法をまとめておいた方が説明が楽だなと思ったのでまとめておきます. そもそも DI の目的とは, みたいなところは詳しく説明しないのであしからず. 手法の比較 DI なし Service Locator エフェクト Constructor Injection Setter Injection デコレータ typed-inject 次回予告 手法の比較 DI なし まずは DI を使わない場合を見ていきましょう. ここでは例として, 以下のような時刻と乱数を必要とするコンポーネント MyService が, 時刻と乱数を扱う機能をそれぞれ提供するコンポーネント Clock と Random に依存するような場合を考えます. type Clock = { getTime: () =>

    TypeScript の DI 手法あれこれ - Object.create(null)
  • TypeScriptの関数でDIパターン - id:anatooのブログ

    Node.js+TypeScriptでバックエンドを書いてると、DIパターンを使いたい場面が結構ある。 いわゆるDIと言うとコンストラクタインジェクションなどクラスありきの方法が思い浮かぶけれども、実際には関数でもDIパターンを書くことができる。単純に関数のパラメータに依存を受け取ればよい。 // 依存を表現する型 interface Deps { appService: AppServiceInterface; } // DIパターンを記述する関数 function DoSomething({appService}: Deps, params: any) { ... } 依存を注入する場合には、引数を部分適用するbind()メソッドを使う。 // 依存を注入 const doSomething = DoSomething.bind(null, { appService: new MyAp

    TypeScriptの関数でDIパターン - id:anatooのブログ
  • 1