git-machete-intellij-plugin
git-machete-intellij-plugin copied to clipboard
Do we need Providers in `com.virtuslab.gitmachete.frontend.ui.providerservice`?
All 3 of them just call RuntimeBinding.instantiateSoleImplementingClass(...)... maybe just use RuntimeBinding.instantiateSoleImplementingClass directly then, without the intermediate layer of @Services?
Also, if they stay, let's decide whether they're "services" or "(service) providers" and reflect that everywhere in the naming
Re-assigning to @LukaszKontowski as his probably final task in this project 🏁
From a quick look, services are "per-project singletons"... so com.virtuslab.gitmachete.frontend.ui.providerservice.BranchLayoutWriterProvider is redundant, but the other two service look quite useful.
TBD whether to get rid of these two, or maybe the other way round: (re)implement more per-project things as services
Although we rather have per-VCS-root singletons, not per-project singletons
Load balancing...
My proposal: The classes in question are Services since that's the IntelliJ nomenclature, their names can stay as they are I think, since they are services used to obtain some values, thus Provider suits them. So just rename package to services.
Maybe GitMacheteRepositoryCache could also get its own Provider service?
Maybe GitMacheteRepositoryCache could also get its own Provider service?
Hmmm okay... pls provide a PoC!
The answers can be found in the linked PRs