[flutter] get_it를 사용하여 플러터 앱의 모듈화를 어떻게 할 수 있는가?

플러터 앱의 모듈화는 앱의 구조를 더 효율적이고 재사용 가능한 코드로 나눠줌으로써 개발을 용이하게 만들어줍니다. get_it 패키지는 플러터에서 모듈화를 구현하기 위한 강력한 도구입니다.

get_it이란?

get_it은 플러터 프로젝트에서 의존성 주입을 관리하기 위한 패키지입니다. 의존성 주입은 앱의 컴포넌트 간 의존성을 외부에서 주입하여 복잡한 의존성을 관리하는 방법입니다. get_it을 사용하면 앱의 모듈을 정의하고 필요한 의존성을 주입하는 것이 간편해집니다.

get_it 설치하기

get_it 패키지를 사용하기 위해 먼저 pubspec.yaml 파일에 의존성을 추가해야 합니다.

dependencies:
  get_it: ^5.0.1

그런 다음 터미널에서 다음 명령을 실행하여 패키지를 설치합니다.

$ flutter pub get

모듈 정의하기

get_it을 사용하여 플러터 앱의 모듈을 정의하는 방법은 다음과 같습니다.

import 'package:get_it/get_it.dart';

final getIt = GetIt.instance;

void setupLocator() {
  // 의존성 주입할 클래스를 등록합니다.
  getIt.registerSingleton<ExampleService>(ExampleService());
  // 다른 모듈에서 사용할 수 있도록 위치를 설정합니다.
  // addLazySingleton, addFactory 등도 사용할 수 있습니다.
}

위 코드에서는 getIt 변수를 사용하여 GetIt 인스턴스를 가져옵니다. 이 인스턴스를 통해 모듈을 등록하고 관리할 수 있습니다. setupLocator() 함수를 호출하여 모듈을 등록해야 합니다.

의존성 주입하기

모듈을 등록한 후에는 필요한 곳에서 의존성을 주입할 수 있습니다. 예를 들어, 위에서 등록한 ExampleService를 사용하려면 다음과 같이 작성할 수 있습니다.

class ExampleViewModel {
  final ExampleService _exampleService = getIt<ExampleService>();

  void fetchData() {
    _exampleService.fetchData();
  }
}

getIt<ExampleService>()를 호출하여 ExampleService의 인스턴스를 가져올 수 있습니다. 이렇게 하면 의존성을 사용하는 클래스에서 모듈에 등록된 인스턴스를 손쉽게 가져올 수 있습니다.

결론

get_it 패키지를 사용하면 플러터 앱의 모듈화를 간단하게 구현할 수 있습니다. get_it을 활용하여 연결되는 클래스 간의 의존성을 효과적으로 관리하고 앱의 구조를 체계적으로 설계할 수 있습니다. get_it의 더 많은 기능과 응용 방법을 알고 싶다면 공식 문서를 참조하세요.

참고 자료: