디자인패턴 : Singleton pattern

horiz.d·2021년 11월 19일
0


Singleton Pattern

싱글톤 패턴이란 프로그램 전체에서 단 하나의 객체를 생성하고, 해당 객체를 프로그램 내 어디서든지 호출할 수 있게 만들어 프로그램 내의 여러 곳에서 이것을 참조하여 단 하나의 인스턴스만을 사용하도록 만드는 디자인 패턴이다.

주의

단 하나의 인스턴스만 사용하도록 완벽하게 보장된 상황에서만 사용해야 한다.


장점

(1) 단 한번 하나의 new 인스턴스만을 생성하여 메모리 효율 극대화.

(2) 전역 인스턴스로 만들어 이것 하나로 공유하므로 데이터 공유가 용이하다.

(3) 공통 객체를 여러개 생성하여 사용하는 DBCP(DataBase Connection Pool) 상황에서 유용하게 사용한다.


문제

(1) 동시성 문제 고려 : 멀티쓰레드 환경에서의 동시성문제

(2) 개방-폐쇄 원칙 위배 가능성 :결합도 상승 -> 유연한 대처가 어려워짐




REF :
https://gmlwjd9405.github.io/2018/07/06/singleton-pattern.html
https://velog.io/@kyle/%EC%9E%90%EB%B0%94-%EC%8B%B1%EA%B8%80%ED%86%A4-%ED%8C%A8%ED%84%B4-Singleton-Pattern

profile
가용한 시간은 한정적이고, 배울건 넘쳐난다.

0개의 댓글