[flutter] get_it를 사용하여 플러터 앱에서 커스텀 위젯을 어떻게 작성하는가?

작성일자: 2022년 10월 10일


get_it은 플러터에서 의존성 주입(Dependency Injection)을 관리하기 위해 사용되는 패키지입니다. 이를 통해 플러터 앱에서 커스텀 위젯을 효율적으로 작성할 수 있습니다. 이번 포스트에서는 get_it를 사용하여 플러터 앱에서 커스텀 위젯을 작성하는 방법에 대해 알아보겠습니다.

1. get_it 패키지 추가하기

먼저, pubspec.yaml 파일에서 get_it 패키지를 추가해야 합니다. 아래와 같이 dependencies 섹션에 추가합니다:

dependencies:
  get_it: ^7.2.0

패키지를 추가한 후, 터미널에서 flutter packages get 명령을 실행하여 패키지를 설치합니다.

2. 의존성 주입 설정하기

get_it 패키지를 사용하여 커스텀 위젯을 작성하기 위해, 의존성 주입을 설정해야 합니다. 일반적으로, main.dart 파일에서 get_it을 초기화하고 의존성을 등록하는 것이 일반적입니다.

import 'package:get_it/get_it.dart';

void main() {
  GetIt.I.registerLazySingleton(() => MyService());
  runApp(MyApp());
}

위의 코드에서 MyService는 커스텀 위젯에서 사용되는 서비스 클래스의 예시입니다. registerLazySingleton 메소드를 사용하여 서비스 클래스의 인스턴스를 등록합니다.

3. 커스텀 위젯에서 의존성 주입 사용하기

이제 의존성 주입을 설정했으므로, 커스텀 위젯에서 get_it을 사용하여 의존성을 주입할 수 있습니다.

import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';

class MyCustomWidget extends StatelessWidget {
  final MyService myService = GetIt.I<MyService>();

  @override
  Widget build(BuildContext context) {
    return Container(
      // 위젯 구현
    );
  }
}

MyService 클래스의 인스턴스는 GetIt.I<MyService>()를 통해 가져올 수 있습니다. 이를 통해 커스텀 위젯 내에서 필요한 서비스를 사용할 수 있습니다.

결론

이렇게 get_it를 사용하여 플러터 앱에서 커스텀 위젯을 작성할 수 있습니다. 의존성 주입을 통해 코드의 유지 보수성을 향상시키고, 테스트 용이성을 높일 수 있습니다. get_it을 효과적으로 활용하여 플러터 앱을 더욱 뛰어나게 개발해보세요!


참고 문서: