まとめ
パターン比較レビュー
| パターン | 適用条件 | 強み | 注意点 | よく使うシーン |
|---|---|---|---|---|
Singleton | 同一インスタンスを共有したい | 状態一元管理、アクセス容易 | テストが難しくなることも | Logger, Config, Cache など |
Facade | 複雑な処理を隠したい | 呼び出しが簡潔、構造が見える | 内部実装が肥大化しがち | API 統一、サブシステムの入口 |
まとめと選び方の指針
- ユーティリティ的な処理を統一して管理 →
Singleton - 複数の処理を簡単にまとめて使いたい →
Facade - テスト・拡張のために、依存注入(
DI)やAdapterとの併用も検討すると ◎
実際の設計会話での使い分けヒント
- Logger 直接呼んでる箇所多いですね。
Singletonにして一元管理しましょう - ログ出力や設定アクセスを
Facadeでまとめたら、呼び出し側はスッキリしますよ - あちこちで process.env 使ってるなら、Config クラスに集約しましょう