[flutter] get_it과 웹 크롤링의 연동

의존성 주입은 객체 간 의존성을 줄이고 유연한 프로그래밍을 가능하게 하는 중요한 테크닉입니다. Flutter 애플리케이션에서는 get_it 라이브러리를 사용하여 의존성 주입을 쉽게 구현할 수 있습니다.

get_it이란?

get_it은 Flutter 애플리케이션에서의 의존성 주입을 지원하는 라이브러리로, 애플리케이션의 전역에서 사용할 수 있는 의존성을 등록하고 얻을 수 있습니다.

import 'package:get_it/get_it.dart';

GetIt locator = GetIt.instance;

void setupLocator() {
  locator.registerLazySingleton(() => ApiService());
}

위의 코드에서 get_it 인스턴스를 생성하여 의존성을 등록하고, setupLocator 함수를 사용하여 ApiService를 lazy singleton으로 등록하였습니다.

get_it과 웹 크롤링의 연동

웹 크롤링을 수행하는 동안에도 의존성 주입을 활용하여 유연한 코드 설계를 할 수 있습니다. 웹 크롤링 시에는 데이터를 가져오거나 가공하기 위해 외부 API나 데이터베이스 등에 의존적일 수 있으며, 이때 get_it을 활용하여 해당 의존성을 주입할 수 있습니다.

class WebCrawler {
  ApiService _apiService = locator<ApiService>();

  // 웹 크롤링 로직 구현
}

위 코드에서 WebCrawler 클래스 내에서 ApiService를 get_it을 통해 주입하여 사용하고 있습니다.

이처럼 get_it을 통해 의존성을 주입하는 방식을 이용하면 코드의 유지보수가 용이해지고, 각 모듈 간 결합도를 낮추어 앱의 유연성을 높일 수 있습니다.

더 많은 get_it 사용 예제 및 자세한 내용은 GitHub 저장소(GetIt)에서 확인할 수 있습니다.