## 8-4 インスタンスを生成する
### [[🗃️Singletonパターン]]
- [[🗃️Singletonパターン]]は扱いにくい。現代では、あまり使われない。
- ほぼ[[🗃️静的メソッド(static method)]]と同じ。
- [[🗃️Singletonパターン]]を使うなら、[[🗃️DIコンテナ]]による[[🗃️インスタンス生成]]をしたほうがよい。
- [[🗃️Singletonパターン]]で状態をもってしまうと、グローバル変数置き場になってしまうので、注意。
### [[🗃️Abstract Factoryパターン]]
- [[🗃️インスタンス]]を生成するだけの、クラスを作る。
- Factoryのクラスは[[🗃️具象クラス]]ではなく、抽象に依存するようにする。
- アーキテクチャ設計に動的な[[🗃️オブジェクト]]を織り交ぜていくのに欠かせない最重要パターン。
### 他のパターン
- [[🗃️Builderパターン]]
- [[🗃️Factory Methodパターン]]