myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns
» Datenschutzerklärung
» Impressum

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Rund um die Programmierung » Organisation von Klassen: Wie behalte ich den Überblick, welche Klassen von was benötigt werden?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Organisation von Klassen: Wie behalte ich den Überblick, welche Klassen von was benötigt werden?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
EyeTrackJack EyeTrackJack ist männlich
myCSharp.de-Mitglied

Dabei seit: 24.01.2019
Beiträge: 18
Entwicklungsumgebung: Visual Studio


EyeTrackJack ist offline

Organisation von Klassen: Wie behalte ich den Überblick, welche Klassen von was benötigt werden?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

in meinem Projekt habe ich immer mehr Klassen, die aber im gleichen Namespace liegen. Einige dieser Klassen würde ich gerne in anderen Projekten verwenden, aber ich habe keine Übersicht, welche Klassen dazugehören. Es ist ja nicht nötig, sie per using einzubeziehen, damit sie nutzbar sind.

Das Problem ist, das ich einfach keine Strategie habe, wie man sowas organisiert. Wie ich es jetzt mache, fühlt sich jedenfalls falsch an. Ich habe keinen professionellen Anspruch, aber ich würde meine Software gerne übersichtlich halten.

Sollte ich dafür sorgen, dass ich die Klassen per using hinzufügen muss? Oder mit Ordnern arbeiten?

Habt ihr Tipps? Oder gibt es Beispiele? Gibt es ein gutes Buch, das sich auch damit auseinandersetzt?

Ich würde mich sehr freuen, wenn ihr mir helfen könntet.

Gruß
Tobias
27.04.2019 23:02 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.235
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Du könntest für die Klassen ein eigenes Projekt vom Typ Klassenbibliothek (class library) erstellen (mit eigenem Namensbereich). Dieses sollte dann fehlerfrei kompilieren, so daß du dann dieses Projekt per Referenz auch in andere Projekte einbinden kannst (und dann auch explizit den Namensbereich angeben mußt).

Auch innerhalb eines Projektes sollten die Dateien (am besten hierarchisch) organisiert sein, so daß Dateien in untergeordneten Verzeichnissen möglichst keine Abhängigkeit zu anderen übergeordneten Dateien haben (außer evtl. ein paar Crossdomain-Klassen wie Utilities, Helper oder wie man sie auch immer nennt ;-).

In meinem Artikel  Kommunikation von 2 Forms habe ich dies auch so ähnlich erklärt (sowie im Beispielprogramm ganz unten auch so angewendet).

Für größere Projekte nach der  [Artikel] Drei-Schichten-Architektur hat man meistens dafür auch verschiedene Klassenbibliotheksprojekte, um ungewollte Zugriffe auszuschließen.
28.04.2019 10:07 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.639
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Letzten Endes nennt man sowas Software Architektur und basiert i.d.R. schon auch auf Erfahrung.
Natürlich gibt es einen gewissen Rahmen, an den man sich halten kann, und das sind in .NET nunmal die Namespaces.

Namespaces können aber auch Projekt-übergreifend sein; und natürlich kommt die Trennung von Projekten auch drauf an, welche Technologien man einsetzt und was man programmiert.

Die pauschale Best Practise gibt es im Bereich einer Architektur - egal ob Solution-, Infrastruktur- oder Software-Architektur - pauschal nie.
28.04.2019 13:51 Beiträge des Benutzers | zu Buddylist hinzufügen
EyeTrackJack EyeTrackJack ist männlich
myCSharp.de-Mitglied

Dabei seit: 24.01.2019
Beiträge: 18
Entwicklungsumgebung: Visual Studio

Themenstarter Thema begonnen von EyeTrackJack

EyeTrackJack ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von Th69:
Auch innerhalb eines Projektes sollten die Dateien (am besten hierarchisch) organisiert sein, so daß Dateien in untergeordneten Verzeichnissen möglichst keine Abhängigkeit zu anderen übergeordneten Dateien haben

Das versuche ich. Im Moment habe ich eine leichte Abhängigkeit von Fenstern, die eine Schaltfläche darstellen, entstanden. Aber das will ich beseitigen, indem ich eine Klasse zwischenschalte, die sich um die Fenster kümmert und als Vermittler zum Hauptfenster dient.

Ich will darin eigene Events definieren, die die relevanten Events der Fenster weiterleiten.

Zitat von Th69:
In meinem Artikel  Kommunikation von 2 Forms habe ich dies auch so ähnlich erklärt (sowie im Beispielprogramm ganz unten auch so angewendet).

Habe mir das mal verinnerlicht. Es fühlt sich gut an, das nochmal als Quelltext zu lesen.
28.04.2019 17:07 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 21.05.2019 20:38