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

Simplify DI #329

Open
ekolis opened this issue Oct 20, 2024 · 0 comments
Open

Simplify DI #329

ekolis opened this issue Oct 20, 2024 · 0 comments
Assignees
Labels
idea A large scope idea that needs to be discussed before it can be implemented. technical debt Things that would make the code cleaner but deliver little to no value to users.
Milestone

Comments

@ekolis
Copy link
Owner

ekolis commented Oct 20, 2024

What needs to be cleaned up?

Dependency injection code is split across three classes right now:

DI in FrEee.Core.Utility: allows services to be registered and retrieved
DIRoot in FrEee.Core.Domain: allows services to be retrieved using properties for common services
Configuration in FrEee.Root: registers default service implementations

I think this could be cut down to two, though I'm not entirely sure how best to do that.

How will this benefit us?

Reduce complexity

What potential drawbacks are there to making this change?

Need to be careful to not break the whole concept of dependency injection by injecting too many assumptions

Related issues
#322 - original DI issue

@ekolis ekolis added idea A large scope idea that needs to be discussed before it can be implemented. technical debt Things that would make the code cleaner but deliver little to no value to users. labels Oct 20, 2024
@ekolis ekolis added this to the alpha-10 milestone Oct 20, 2024
@ekolis ekolis self-assigned this Oct 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
idea A large scope idea that needs to be discussed before it can be implemented. technical debt Things that would make the code cleaner but deliver little to no value to users.
Projects
Status: To do
Development

No branches or pull requests

1 participant