Ich habe festgestellt, dass mehrere Projekte ein "Internes" Verzeichnis in der Codebasis haben. Beispiel:Interne und Infrastruktur-Verzeichnisse im Projekt
- https://github.com/aspnet/Core/tree/master/src/Castle.Core/Core/Internal
- https://github.com/aspnet/EntityFramework/tree/dev/src/Microsoft.EntityFrameworkCore/Internal
Zunächst kann man glauben führen, dass diese Verzeichnisse speichert Klassen mit dem internal
Zugriffsmodifikator erklärt aber auf der Suche in den Verzeichnissen Sie sehen, dass Die darin enthaltenen Klassen werden mit dem Zugriffsmodifizierer public
deklariert.
Ist das Vorhandensein eines "internen" Verzeichnisses in der .NET-Welt üblich oder üblich und wozu dient es? Was geht dort hin? Was gehört da hin?
Ich habe auch bemerkt, ein Verzeichnis namens "Infrastruktur" in mehreren Projekten:
- https://github.com/aspnet/Mvc/tree/dev/src/Microsoft.AspNetCore.Mvc.Core/Infrastructure
- https://github.com/aspnet/SignalR-Server/tree/dev/src/Microsoft.AspNetCore.SignalR.Server/Infrastructure
- https://github.com/aspnet/EntityFramework/tree/dev/src/Microsoft.EntityFrameworkCore/Infrastructure
Ebenso würde ich fragen, ob dies eine ist geläufiges Vorkommen oder gängige Praxis und wozu dieses Verzeichnis und was da drin gehört?
Das war nicht, was ich im Sinn hatte, aber trotzdem ist es sehr interessant. Diese Frage war jedoch mehr, wenn dies nur eine Bibliothek war, die ich verteilte, keine interne Komponente, die von Projekten in einer Lösung geteilt wurde. – Fred
In diesem Fall bevorzuge ich Put Schnittstellen und Implementierung in einem Ordner und markieren notwendige Klassen als intern. Meiner Meinung nach sollten Namespaces nicht meine bevorzugte Ordnerstruktur widerspiegeln (wie separate interne und öffentliche Klassen). Und in meinen Projekten denke ich, dass das Klassen-Repository im Ordner "Repositories" liegen sollte. Es ist eine einfache und klare Projektorganisation. Besonders wenn es eine öffentliche Bibliothek ist und andere Leute es benutzen. – jarres