gihyo.jpのMisskey連載第2回: MisskeyにおけるNest.jsを使ったDI

Misskey/official
概要

2023-02-13に公開された「gihyo.jpのMisskey連載第1回: 分散型SNS「Misskey」、それを支える技術スタック | GNU social JP」の連載に続く2回目の連載「MisskeyにおけるNest.jsを使ったDI | gihyo.jp」が公開されたので紹介します。

以下の投稿で告知されていました。

avatar
Misskey連載第二回が出た Nest,jsを使ったDIについて解説しています
MisskeyにおけるNest.jsを使ったDI | gihyo.jp
本連載では分散型マイクロブログ用ソフトウェアMisskeyの開発に関する紹介と、関連するWeb技術について解説を行っています。第2回はMisskey v13から採用されたNest.jsおよびDependency Injection(DI)と呼ばれる設計手法について紹介します。

なお、私はこの公開の認知に遅れ、2023-04-01の以下の投稿で存在を認知しました。

avatar
ぐぬ管 (GNU social JP管理人)|gnusocialjp@gnusocial.jp
!sns 3/22にgihyo.jpのMisskey連載第2回が公開されたようです。全然気づきませんでした。 MisskeyにおけるNest.jsを使ったDI
MisskeyにおけるNest.jsを使ったDI | gihyo.jp
本連載では分散型マイクロブログ用ソフトウェアMisskeyの開発に関する紹介と、関連するWeb技術について解説を行っています。第2回はMisskey v13から採用されたNest.jsおよびDependency Injection(DI)と呼ばれる設計手法について紹介します。
内容

内容はMisskey v13で導入されたNest.jsによるDI (Dependency Injection) の説明でした。DIはメンバー関数間のクラスの依存関係を緩和する方法で、関数の単体テストをしやすくする手法です。

ファイルグローバル関数や、インスタンスのメンバー関数などを、他の関数内で使うと、その関数・クラスに依存してしまい、単体で動作させる場合に依存部分のモック・スタブへの置換が困難になります。

この回避には、例えば関数の引数にデリゲートインスタンス (Delegate=代理、代表。使用したいクラスのメンバー関数、コールバック関数を寄せ集めただけの代理のクラス) を渡して、関数内部でデリゲートインスタンスのメンバー関数を使います。こうすることで、引数のデリゲートインスタンスを置換することができ、単体試験がしやすくなります。

残り4859文字。続きはSilver/Gold会員限定。

Free=0/Bronze=220/Silver=1100/Gold=1980円。

会員登録 (About Member)

Comments

Ads Blocker Image Powered by Code Help Pro

広告ブロッカー検知/Ads Blocker Detected

このサイトは会費と広告で運営されています。[Bronze=月220円以上に登録] するか、広告ブロッカーを無効にしてください。

This site is operated by membership and advertise. Please [register at least Bronze=220 JPY/month], or disable ads blocker.

Copied title and URL