refactor: change singleton registrations to lazySingleton for improved performance

This commit is contained in:
Achintha Isuru
2026-03-09 15:01:18 -04:00
parent 46ca10933a
commit 7a5c130289
10 changed files with 41 additions and 41 deletions

View File

@@ -24,20 +24,20 @@ class BillingModule extends Module {
@override
void binds(Injector i) {
// Repositories
i.addSingleton<BillingRepository>(BillingRepositoryImpl.new);
i.addLazySingleton<BillingRepository>(BillingRepositoryImpl.new);
// Use Cases
i.addSingleton(GetBankAccountsUseCase.new);
i.addSingleton(GetCurrentBillAmountUseCase.new);
i.addSingleton(GetSavingsAmountUseCase.new);
i.addSingleton(GetPendingInvoicesUseCase.new);
i.addSingleton(GetInvoiceHistoryUseCase.new);
i.addSingleton(GetSpendingBreakdownUseCase.new);
i.addSingleton(ApproveInvoiceUseCase.new);
i.addSingleton(DisputeInvoiceUseCase.new);
i.addLazySingleton(GetBankAccountsUseCase.new);
i.addLazySingleton(GetCurrentBillAmountUseCase.new);
i.addLazySingleton(GetSavingsAmountUseCase.new);
i.addLazySingleton(GetPendingInvoicesUseCase.new);
i.addLazySingleton(GetInvoiceHistoryUseCase.new);
i.addLazySingleton(GetSpendingBreakdownUseCase.new);
i.addLazySingleton(ApproveInvoiceUseCase.new);
i.addLazySingleton(DisputeInvoiceUseCase.new);
// BLoCs
i.addSingleton<BillingBloc>(
i.addLazySingleton<BillingBloc>(
() => BillingBloc(
getBankAccounts: i.get<GetBankAccountsUseCase>(),
getCurrentBillAmount: i.get<GetCurrentBillAmountUseCase>(),