반응형
플러터에서 정확히는 다트(Dart)언어에서 싱글 톤을 구현하는 방법에 대해 알아보겠습니다.
싱글톤이란?
single tone은 플러터 혹은 다트의 특유의 것이 아닌 소프트웨어 디자인 패턴 입니다. 싱글톤 패턴이란 클래스의 인스턴스를 프로그램 내에서 오직 하나만 생성하도록 제한하는 패턴 입니다. 디자인 패턴중에 가장 쉬워서 제일 처음에 배우는 패턴이기도 합니다.
일반적으로 대부분의 언어에서 다음과 같은 방법으로 싱글톤을 구현합니다.
- 클래스의 정적 멤버를 선언 후 인스턴스를 할당해준다.
- 생성자에 대한 접근을 제한한다.
- 인스턴스를 리턴해주는 메소드를 구현한다.
플러터(Flutter), 다트(Dart)에서 싱글톤 구현
플러터에서는 생성자에 factory로 선언하는 것만으로 편리하게 팩토리 메소드를 구현하는 것이 가능합니다.
DataStore 라는 이름의 클래스를 싱글톤으로 만들어 보겠습니다.
생성자를 factory로 지정하였습니다. 또 다른 생성자로 named constructor인 DataStore._internal를 만들어 줌으로 외부에서는 호출이 되지 않지만 정적 맴버인 _cache가 생성될때 named constructor를 호출해 사용하고 있습니다. _(언더바)로 시작되는 이름은 외부에서 사용할 수 없음을 의미합니다. 외부에서는 DataStore 팩토리메소드를 호출하는 것으로 유일한 클래스의 인스턴스가 리턴 될 것입니다.
위 클래스를 사용하는 예는 아래와 같습니다.
data1 객체와 data2 객체가 동일한 객체임으로 같은 값을 출력하게 됩니다.
실행결과
반응형
'모바일개발 > 플러터' 카테고리의 다른 글
VSCode에서 플러터 개발이 편리해지는 설정 (0) | 2022.03.08 |
---|---|
플러터(flutter) DatePicker 이용해 날짜 입력 (0) | 2022.03.07 |
플러터 debugPaintSizeEnabled 활성화 하여 위젯 배치 시각화, 윤곽선 표시 (0) | 2022.03.06 |
플러터(Flutter) 프로젝트 작성 방법(자동생성) (0) | 2022.03.06 |
플러터(flutter)란 무엇인가? 장점과 특징 이해하기 (0) | 2022.03.04 |
최근댓글