Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- 프로그래머스 연속된 수의 합 java
- 0으로 채우기
- 자바
- 백준 17425
- time complexity
- 백준 14391
- 백준 11723
- Math.ceil()
- sort
- 네트워크
- 코딩테스트
- Codility
- 백준 16935
- mysql
- java 내림
- 프로그래머스 도둑질 java
- 백준 15661
- java 반올림
- 알고리즘
- Math.floor()
- 프로그래머스 옹알이 java
- Algorithm
- java
- Arrays
- 프로그래머스 네트워크 java
- 프로그래머스 숫자의 표현 java
- java 올림
- 백준 4375
- 백준 16927
- 백준 18290
Archives
- Today
- Total
취미처럼
[DP] 싱글톤 패턴 본문
싱글톤 패턴(singleton pattern)
하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴
하나의 클래스를 기반으로 여러 개의 개별적인 인스턴스를 만들 수 있지만, 그렇게 하지 않고 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는데 쓰이며, 보통 데이터베이스 연결 모듈에 많이 사용
class Singleton {
private static class singleInstanceHolder {
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return singleInstanceHolder.INSTANCE;
}
}
public class Main {
public static void main(String []args){
Singleton a = Singleton.getInstance();
Singleton b = Singleton.getInstance();
System.out.println(a.hashCode());
System.out.println(b.hashCode());
if (a == b){
System.out.println(true);
}
}
}
싱글톤 패턴의 단점
TDD 방식으로 개발할 때, 독립적이지 않으므로 단위테스트에 어려움이 있다.
모듈간의 결합을 강하게 만들 수 있다는 단점이 있다.
의존성 주입을 통해 모듈간의 결합을 낮춰야 한다.
'Design Pattern' 카테고리의 다른 글
[DP] 전략 패턴 (0) | 2021.03.19 |
---|---|
[DP] 팩토리 패턴 (0) | 2021.03.19 |
[DP] DIP (0) | 2021.03.19 |
[DP] ISP (0) | 2021.03.19 |
[DP] LSP (0) | 2021.03.18 |
Comments