たんトンじょうたいか
スプリングDI容器は、デバッガとしてモノトーン管理を行います.
シングルトーンは、毎回新しいオブジェクトを作成する必要がなく、メモリを効率的に管理します.
しかし、最大の欠点は共有オブジェクトです.
そのため、モノトーンには状態値がありません.
なぜステータス値が持てないのかを調べてみましょう.
モノトーンオブジェクト
これらのテストはすべて成功したテストです.
単一色調共有オブジェクトのため、user 1は
結局、2人の会員は
これが支払い金額であれば、もっと大きな問題が発生します.
つまり、モノトーンは絶対に状態にしてはいけません.
どうせ同時に要求することはない!!使用もできません.
開発は一人で行うものではないので、他の開発者は他の場所から呼び出すことができます.
シングルトーンは、毎回新しいオブジェクトを作成する必要がなく、メモリを効率的に管理します.
しかし、最大の欠点は共有オブジェクトです.
そのため、モノトーンには状態値がありません.
なぜステータス値が持てないのかを調べてみましょう.
🔍 ステータス値が使用できない理由
@Getter
@Setter
public class SingletonT {
private final static SingletonT instance = new SingletonT();
private String name;
public static SingletonT getInstance() {
return instance;
}
public String setLocalVariable(String variable) {
return variable;
}
private SingletonT() {
}
}
上記は単一色調オブジェクトであり,テストコードを用いて実験を行う.これらのテストはすべて成功したテストです.
単一色調共有オブジェクトのため、user 1は
김종국
であるが、user 2は송지효
である結局、2人の会員は
송지효
になった.これが支払い金額であれば、もっと大きな問題が発生します.
つまり、モノトーンは絶対に状態にしてはいけません.
どうせ同時に要求することはない!!使用もできません.
開発は一人で行うものではないので、他の開発者は他の場所から呼び出すことができます.
class SingletonTTest {
@Test
void t() {
SingletonT user1 = SingletonT.getInstance();
SingletonT user2 = SingletonT.getInstance();
user1.setName("김종국");
user2.setName("송지효");
assertThat(user1.getName()).isEqualTo(user2.getName());
assertThat(user2.getName()).isEqualTo("송지효");
}
}
リファクタリングソースReference
この問題について(たんトンじょうたいか), 我々は、より多くの情報をここで見つけました https://velog.io/@monkeydugi/싱글톤에서의-상태값テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol