dependency-injection-guidelines.md blanket advice on avoiding singletons is misleading
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Dokumentation
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- csharp
- Bereich
- documentation
Rechercherichtung
Lies zuerst docs/core/extensions/dependency-injection-guidelines.md und den verknüpften PR #47991 und prüfe anschließend die Issue-Diskussion hinsichtlich der beabsichtigten Einschränkung. Erledigt ist dies, wenn eine abgestimmte, technisch korrekte Überarbeitung oder Begründung für die aktuelle Formulierung vorliegt, die das Problem mit pauschalen Vorgaben zur Lebensdauer behandelt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Describe the issue or suggestion
The following PR introduced new guidelines specifically around using Singleton lifetime in DI-centric application designs: https://github.com/dotnet/docs/pull/47991
The guideline clearly sides with "make everything transient by default" as the safer (major emphasis) and more performant (the last bullet point) approach.
IMO this seems to be giving a dangerously blanket advice to 6-8 million .net developers, nearly-encouraging them to swipe state management problems under the carpet of transient lifetime, instead of striving for clean stateless design and zero-allocations as seems to be the default guideline in the Java/Spring community. I understand the pragmatism of giving .net developers what the author likely saw as a safe "lowest common denominator" approach that'd keep an average LOB development team out of trouble, and in the legacy codebases with no design governance making everything transient by default may indeed be the only viable survival strategy, but framing it as THE best practice for all codebases (no qualification), makes it hard to impossible to advocate for clean stateless-by-default designs now that "Microsoft said it's a bad idea".
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.
- ID: 8d1c8ef1-6a01-df24-34ad-570f88df9303
- Version Independent ID: 7fb2be80-cb54-27bf-4f93-423d8540429e
- Platform ID: df1bff59-742c-a7b3-cfc6-4fc1f6510458
- Content: Dependency injection guidelines - .NET
- Content Source: docs/core/extensions/dependency-injection-guidelines.md
- Service: dotnet-fundamentals
- GitHub Login: @IEvangelist
- Microsoft Alias: dapine
- Vorherrschende Sprache
- Keine Sprachdaten
- Sterne
- 4.8k
- Forks
- 6.1k
- Ø Merge
- 22 Std. 46 Min.
- Gemergte PRs (30 T.)
- 296
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus dotnet/docs
-
ExamenOffendotnet-csharp/svc lang-reference/subsvc needs-more-info
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
dotnet/docs#56845 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Update the .NET Framework 3.5 on Windows 11 FAQ to mention Windows 11 26H2Evtl. vergeben @BillWagner hat das vor 3 Tagen übernommen. Offen:pushpin: seQUESTered dotnet/svc
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
dotnet/docs#56791 · 1 Reaktion · 2 zugewiesene Personen ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 86/100
Maintainer antworten meist innerhalb von 1 Tag
-
Improve description of `limitations of extensions`Evtl. vergeben @Manish-1kumar hat das vor 12 Tagen übernommen. Offenadvanced-concepts/subsvc dotnet-csharp/svc
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 84/100
dotnet/docs#56626 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Document unit-test / theory-data impact of .NET 11 double→decimal conversionEvtl. vergeben @SkyDevLab hat das vor 22 Tagen übernommen. Offen:watch: Not Triaged dotnet-fundamentals/svc
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
area:mcp effort:low P5 source:agent
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
README says the land/sea mask must match the XS grid; the demo mask does not, and Step 4 worksEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offendocumentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
buckai-observatory/Automated-Cloud-Removal-and-Seamless-Satellite-Image-Mosaicking-Pipeline#52 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 82/100
run-llama/llama_index#24163 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation good first issue severity: low
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
TMHSDigital/Static_Chess#48 ·