2016-03-21 7 views
0

Ich habe festgestellt, dass mehrere Projekte ein "Internes" Verzeichnis in der Codebasis haben. Beispiel:Interne und Infrastruktur-Verzeichnisse im Projekt

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:

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?

Antwort

0

Für meine Meinung ist der bessere Weg, separate Projekt namens "Infrastruktur" zu erstellen und zu diesem Projekt alle Schnittstellen, öffentliche abstrakte Klassen und andere Verträge zu bewegen. Dann referenzierte dieses Projekt von allen Projekten, die über diese Verträge Bescheid wissen sollten.

Es ist nicht üblich, aber ich sehe es oft.

+0

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

+0

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