Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce dependency injection support #74

Closed
Tracked by #3610
BenHenning opened this issue Aug 26, 2019 · 3 comments
Closed
Tracked by #3610

Introduce dependency injection support #74

BenHenning opened this issue Aug 26, 2019 · 3 comments
Assignees
Labels
Priority: Important This work item is really important to complete for its milestone, but it can be scoped out. Z-ibt Temporary label for Ben to keep track of issues he's triaged.

Comments

@BenHenning
Copy link
Member

DI provides a lot of benefits, most notably easy switching between dependencies for tests and production targets. It also simplifies ensuring that objects don't get recreated with lifecycle-bound objects.

Dagger2 is an ideal choice for DI support, but other options include Kodein and Koin.

@BenHenning BenHenning added Type: Improvement Priority: Important This work item is really important to complete for its milestone, but it can be scoped out. labels Aug 26, 2019
@BenHenning BenHenning added this to the Prototype milestone Aug 26, 2019
@BenHenning BenHenning self-assigned this Aug 26, 2019
@BenHenning
Copy link
Member Author

NB: This is blocked on #4, but the PR for that issue will introduce initial DI support. We should think through the long-term design of the DI graph, and ensure the right infrastructure is implemented to support it. This issue is tracking that effort.

@BenHenning BenHenning changed the title Introduce dependency injection support [Blocked: #4] Introduce dependency injection support Sep 5, 2019
@BenHenning
Copy link
Member Author

This was partially solved in #85, though we should consider the long-term structure of how DI should work with a formal design in place.

@BenHenning
Copy link
Member Author

Considering this effectively complete per #85. This has undergone some level of review with a recent presentation of the system, and its patterns are now being replicated throughout the codebase.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: Important This work item is really important to complete for its milestone, but it can be scoped out. Z-ibt Temporary label for Ben to keep track of issues he's triaged.
Development

No branches or pull requests

1 participant