[1Day-1CS]シングルトンパターン
1日1CS、シングルトンパターンの簡単まとめ
デザインパターンとは?
プログラム設計時に発生した問題点が存在 → オブジェクト間の相互関係などを利用して解決できるように一つの規約にする。
シングルトンパターン
-
一つのクラス=一つのインスタンス
-
クラスごとに複数の個別インスタンスを作ることができますが、そうせずに一つだけ使用します。
-
通常DBモジュールに多く使用
-
生産性 ↑, 依存性 ↓.
シングルトンパターンのデメリット
- TDD(Test Driven Development:テスト主導型開発)時、ユニットテストを進行する時、Issue発生の可能性
依存性が高いシングルトンパターンの特性上、各テストごとに独立したインスタンスを作るのが難しい。
依存性注入
-
シングルトンパターンのモジュール間の結合を強くする短所を解決するための方法
-
メインモジュールが直接他のサブモジュールに依存性を与える代わりに依存性インジェクタを通じて間接的に依存性を注入(デカップリング)
長所
モジュールを簡単に交換できる構造、Testing & Migrationが容易、依存性の方向性の一貫性、Application推論が簡単になる、関係の明確性など
短所
モジュールがさらに分離 → クラス数の増加で複雑性増大、ランタイムペナルティ
依存性注入の原則
-
上位モジュールは下位モジュールから何も取り込まない。
-
両方とも抽象化に依存する必要がある + 抽象化は詳細に依存しない
댓글 작성
게시글에 대한 의견을 남겨 주세요.