X



【node.js】サーバサイドjavascript 5【Nashorn】

0782デフォルトの名無しさん
垢版 |
2023/01/26(木) 14:46:29.69ID:gEyoKRRe
BufferはNode固有のAPI
Blobは後から出てきたWeb (ブラウザ) のAPI
そしてTypedArrayBufferはECMAScriptのAPI
ストリームとかURLとか他にも重複してるのが多数ある
0787デフォルトの名無しさん
垢版 |
2023/07/27(木) 23:08:16.03ID:nxFTW9tq
nodejsでDBマネージャーとかログマネージャーとか、可能な限り同一インスタンスを維持したいインスタンスって一般的にどうしてますでしょうか。

class DbManager{
private constructor(){}
static instance = new DbManager();
}
staticクラスを使うなら上記の書き方でしょうが、一般的にstaticクラスは良くないとされています。
他の硬い言語ならDIを使うのですが、nodejsというか、javascriptだとDIライブラリはあまり使われていないように見える。

毎回クラスを作る時に引数で渡しまくるのも面倒ですし、なにか良い手順はありますでしょうか
0788デフォルトの名無しさん
垢版 |
2023/07/28(金) 01:56:41.01ID:HsfaqfZ/
常に引数で外部注入して生成するけど
引数にundefinedが来たら自動的にデフォルト注入を使って生成かな
0789デフォルトの名無しさん
垢版 |
2023/07/28(金) 03:31:39.50ID:H/mKlItN
>>788
ありがとうございます。
そうなると大半がデフォルトなんだから、もう毎回書かなくていいや〜 ってなってしまいそう…

とにかく、それでも引数でちゃんと渡す or デフォルトで自動生成する が常套手段みたいですね。
0790デフォルトの名無しさん
垢版 |
2023/07/28(金) 09:58:33.60ID:Za7BrkqV
ファイル(モジュール)のトップレベルで

export const instance = new Xxx();

で十分
Javaなんかと違ってこれでもモックできるから大げさなDIなんかJS/TSにはいらんやろ
0795デフォルトの名無しさん
垢版 |
2024/06/07(金) 19:13:05.87ID:pMHNGLdE
Prismaが快適すぎて最近はこれ使いたいがためにnode使ってるまであるわ
たまにEloquentとか使うとやりたいことができなさすぎて発狂しそうになる
レスを投稿する