안녕하세요! 오늘은 Flutter 프레임워크에서 Injectable 패키지를 활용하여 코드 모듈화를 하는 방법에 대해 알아보겠습니다.
코드 모듈화는 앱 개발을 더욱 효율적으로 만들어주는 중요한 단계입니다. 이를 통해 코드의 재사용성을 높이고, 유지보수성을 향상시킬 수 있습니다.
Injectable 패키지는 의존성 주입(Dependency Injection)을 간편하게 구현할 수 있도록 도와주는 도구입니다. 이를 사용하면 코드를 구조화하고 의존성 관리를 쉽게할 수 있습니다.
1. Injectable 패키지 설치하기
먼저 injectable
패키지를 설치해야합니다. pubspec.yaml
파일에서 다음과 같이 패키지를 추가해주세요.
dependencies:
injectable: ^1.5.0
변경 내용을 적용하기 위해 패키지를 가져온 다음, 터미널에서 flutter pub get
명령어를 실행하여 패키지를 설치합니다.
2. 의존성 주입 설정하기
Injectable을 사용하여 코드를 모듈화하려면, 먼저 코드의 의존성 주입을 정의해야합니다.
주입할 클래스에 @injectable
어노테이션을 추가해주세요.
@injectable
class MyService {
// ...
}
@Injected 어노테이션을 사용하여 해당 클래스를 주입받도록 설정할 수도 있습니다.
class MyController {
final MyService myService;
MyController(this.myService);
}
이제 의존성 주입을 사용하는 클래스에서 해당 클래스를 생성하려면 @lazySingleton
혹은 @singleton
과 같은 어노테이션을 사용해 선언해야합니다.
@lazySingleton
class MyService {
// ...
}
3. 의존성 주입 사용하기
이제 설정이 완료되었으므로, 의존성 주입을 사용할 수 있습니다.
클래스에서 참조하고자 하는 의존성으로 주입받도록 생성자에 매개변수를 추가해주세요.
class MyController {
final MyService myService;
MyController(this.myService);
}
이제 필요한 곳에서 의존성 혹은 서비스를 사용할 수 있습니다.
final myService = GetIt.instance.get<MyService>();
마무리
이제헤 동적으로 의존성 주입을 설정하여 플러터 앱의 코드를 모듈화하는 방법에 대해 알아보았습니다. Injectable 패키지를 사용하면 의존성 주입을 쉽게 구현할 수 있으며, 코드의 유지보수성과 재사용성을 향상시킬 수 있습니다.
더 자세한 내용은 Injectable 패키지 가이드 문서를 참고해주세요.
Happy coding!