Singleton Pattern
Class가 하나의 인스턴트를 갖게 하는 동시에 액세스를 제공할 수 있게 하는 패턴
(제가 갠적으로 좋아하는 패턴입니다.
왜냐면 구현이 간단하걸랑요!ㅎ)
Problem
Singleton Pattern은 'Single Responsibility Principle'을 침해하면서 동시에 두 가지 문제들을 해결합니다.
Single Responsibility Principle?
: (단일 책임 원칙) 모든 클래스는 하나의 '책임'을 가진다.
또한 클래스는 그 책임을 캡슐화해야 한다.
1. 클래스에는 하나의 인스턴스만.
: 생성자 호출은 항상 디자인에 의해 객체를 반환해야 하기 때문에 아는 일반 생성자로 구현이 불가능합니다.
2. 해당 인스턴스에 대해 Global access point를 제공해라.
: 필수 객체를 저장할 때, 전역변수는 안전하지 않을 수 있습니다.
전역변수와 마찬가지로 Singleton Pattern을 사용하면 프로그램의 어디서든 일부 객체에서 액세스 할 수 있습니다.
Solution
- Private : 다른 객체가 Singleton Class와 연산자를 사용하지 못하도록 기본 생성자를 비공개로 만듭니다.
- Static creation Method : 생성자를 만들기 위해 정적 생성 메소드를 만듭니다.
전체 다이어그램
'OLD_달려라 > 소프트웨어공학' 카테고리의 다른 글
Design Pattern] Builder (0) | 2020.07.02 |
---|---|
GUI Swing ] Factory Method Pattern (0) | 2020.07.01 |
Design Pattern] Abstract Factory (0) | 2020.06.28 |
Design Pattern] Factory Method (0) | 2020.06.27 |
댓글