モノトーンモード
2198 ワード
この記事は、インフラの白起善の講座コード学習によるGoF設計モードを聞いてまとめたものです.
1つのインスタンスのみを提供するクラス
ex)設定
なぜ私密創建者なのか.
静的メソッドはなぜですか?
なぜgetInstance()はマルチスレッド環境で安全ではないのですか?
👎 : 作成時に大量のリソースを消費する場合は、作成後に使用しないと何の役にも立たない
マルチスレッドの頻繁な使用に適しています
👍 : 必要に応じて を作成して使用
✔定義
1つのインスタンスのみを提供するクラス
ex)設定
単一トーンモードを実現するための5つの方法
1.プライベートジェネレータ+スタティックメソッド
なぜ私密創建者なのか.
静的メソッドはなぜですか?
なぜgetInstance()はマルチスレッド環境で安全ではないのですか?
2.同期の使用(synchronized)
3.初期化の使用
👎 : 作成時に大量のリソースを消費する場合は、作成後に使用しないと何の役にも立たない
4.ダブルチェックロックの使用
👍 : 必要に応じて
5.静的内部クラスの使用(推奨)
private Settings() {}
private static class SettingsHolder {
private static final Settings SETTING = new Settings();
}
public static Settings getInstance() {
return SettingsHolder.SETTINGS;
}
static finalと書いた以上、なぜ遅延初期化と考えられるのでしょうか.Reference
この問題について(モノトーンモード), 我々は、より多くの情報をここで見つけました https://velog.io/@ikobean/코딩으로-학습하는-GoF의-디자인-패턴-싱글톤-패턴テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol