get_it
은 Flutter 애플리케이션에서 의존성 주입을 간편하게 관리할 수 있도록 도와주는 라이브러리입니다. 이를 사용하면 의존성을 전역적으로 관리하고 필요한 클래스 또는 서비스를 인스턴스화한 다음 어디에서든 이를 사용할 수 있습니다. 이번에는 get_it
을 사용하여 애플리케이션 전반에 걸쳐 한 번만 암호화 서비스를 생성하고, 필요할 때마다 여러 곳에서 액세스할 수 있도록 하는 방법에 대해 알아보겠습니다.
get_it 설치 및 구성
get_it
라이브러리를 사용하기 위해서는 pubspec.yaml
파일에 라이브러리를 추가해야 합니다.
dependencies:
get_it: ^7.2.0
그런 다음, 터미널에서 다음 명령어를 사용하여 라이브러리를 가져옵니다.
flutter pub get
get_it을 사용한 의존성 주입
다음은 get_it
을 이용하여 의존성 주입을 구현하는 간단한 예제 코드입니다.
import 'package:get_it/get_it.dart';
void main() {
GetIt locator = GetIt.instance;
locator.registerLazySingleton<EncryptionService>(() => EncryptionService());
locator.registerLazySingleton<AuthService>(() => AuthService(locator<EncryptionService>()));
runApp(MyApp());
}
위 코드에서 GetIt.instance
를 사용하여 get_it
의 인스턴스를 가져온 다음, registerLazySingleton
메서드를 사용하여 EncryptionService
와 AuthService
를 등록했습니다. 그러면 이제 이 두 서비스를 애플리케이션의 어느 곳에서든 사용할 수 있게 됩니다.
비밀번호 암호화 및 get_it을 사용한 주입
이제 get_it
을 사용하여 한 번만 암호화 서비스를 생성하고, 필요할 때마다 다른 곳에서 암호화 서비스를 사용할 수 있습니다. 아래는 이에 대한 코드 예제입니다.
class AuthService {
final EncryptionService _encryptionService;
AuthService(this._encryptionService);
String encryptPassword(String password) {
return _encryptionService.encrypt(password);
}
}
위 코드에서 AuthService
는 EncryptionService
를 생성자를 통해 주입받고, 이를 통해 비밀번호를 암호화합니다.
이러한 방식으로 get_it
을 사용하여 의존성을 주입하면, 코드의 가독성과 유지 보수성이 향상되며, 전역적으로 사용해야 하는 인스턴스를 효율적으로 관리할 수 있습니다.
get_it 라이브러리는 관리가 잘 된 의존성 주입을 위한 강력한 도구입니다. 비밀번호와 같은 민감한 정보를 안전하게 암호화하고 관리하는 데 활용할 수 있습니다.
이상으로 get_it
을 이용하여 의존성 주입 및 비밀번호 암호화에 대해 알아보았습니다. 부족한 점이 있거나 추가로 궁금한 점이 있다면 언제든지 찾아주세요.