반응형

플러터에서 정확히는 다트(Dart)언어에서 싱글 톤을 구현하는 방법에 대해 알아보겠습니다.

 

싱글톤이란?

single tone 플러터 혹은 다트의 특유의 것이 아닌 소프트웨어 디자인 패턴 입니다. 싱글톤 패턴이란 클래스의 인스턴스를 프로그램 내에서 오직 하나만 생성하도록 제한하는 패턴 입니다. 디자인 패턴중에 가장 쉬워서 제일 처음에 배우는 패턴이기도 합니다.

 

일반적으로 대부분의 언어에서 다음과 같은 방법으로 싱글톤을 구현합니다.

  • 클래스의 정적 멤버를 선언 후 인스턴스를 할당해준다.
  • 생성자에 대한 접근을 제한한다.
  • 인스턴스를 리턴해주는 메소드를 구현한다.

 

플러터(Flutter), 다트(Dart)에서 싱글톤 구현

플러터에서는 생성자에 factory 선언하는 것만으로 편리하게 팩토리 메소드를 구현하는 것이 가능합니다.

DataStore 라는 이름의 클래스를 싱글톤으로 만들어 보겠습니다.

싱글톤 클래스

생성자를 factory 지정하였습니다. 다른 생성자로 named constructor DataStore._internal 만들어 줌으로 외부에서는 호출이 되지 않지만 정적 맴버인 _cache 생성될때 named constructor 호출해 사용하고 있습니다.  _(언더바) 시작되는 이름은 외부에서 사용할 없음을 의미합니다. 외부에서는 DataStore 팩토리메소드를 호출하는 것으로 유일한 클래스의 인스턴스 리턴 될 것입니다.

 

 

클래스를 사용하는 예는 아래와 같습니다.

data1 객체와 data2 객체가 동일한 객체임으로 같은 값을 출력하게 됩니다.

실행결과

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기