[Flutter] GetX - GetxService

Raon·2022년 6월 12일
0

Flutter

목록 보기
5/24

GetxController를 사용하다보면 일부 컨트롤러의 경우 싱글턴 객체처럼 앱이 실행되는 동안 인스턴스를 계속 유지하고 싶어지는 순간이 발생하는 경우가 많다.

나는 이런 경우 아래와 같은 방법을 사용했었다.

class SomeController extends GetxController{
  static final SomeController _instance = SomeController._init();
  
  factory SomeController(){
    return _instance;
  }
  
  SomeController._init(){
    print("SomeController initialized");
  }

  /* some code */
}

전형적인 싱글턴 패턴을 적용한 GetxController로, 싱글턴 패턴의 적용을 통해 프로그램이 실행되는 동안 같은 동일한 인스턴스에 접근할 수 있도록 해준다.

그런데 최근 GetX문서를 살펴보던 중 GetxService를 알게 되었는데, 굉장히 유용했다. 싱글턴패턴처럼 프로그램이 실행되는 동안 동일한 인스턴스에 접근할 수 있도록 하는 기능을 제공하는데, 아래와 같이 작성할 수 있다.

class SomeService extends GetxService{
  /* some code */
}

그저 GetxService를 상속받을 뿐인데 GetxController와 동일하게 사용할 수 있으면서 동시에 싱글턴 패턴을 직접 작성하지 않아도 된다.

앞으로는 좀 더 공식문서를 꼼꼼하게 살펴보면서 좀더 생산성을 높일 수 있도록 노력해야겠다.

profile
Flutter 개발자

0개의 댓글