A new dagger tutorial has been release and it does a great job at presenting many of its capabilities. Since the sample code is in java and only presents the final solution, I decided to put together a kotlin version and also made sure each branch represents a page in the tutorial.
Recommended branch order follows the same title of the tutorial pages:
- InitialDaggerSetup
- AddingOurFirstCommand
- DependingOnAnInterface
- AnAbstractionForOutput
- ANewCommand
- TwoCommandsForThePriceOfOne
- User-SpecificTypes
- MaintainingState
- OnlyAllowDepositingAfterLoggingIn
- AddingAWithdrawCommand
- LoggingOut
- EnforcingTheMaximumWithdrawlAcrossCommands
- AvoidingRecursiveLogins
No optimizations have been made to this code. This is the fruit of a pesonal study session.