Zum Inhalt springen

Wie nutzt man Klassen sinnvoll?


Empfohlene Beiträge

Geschrieben

Hallo,

wie nutzt man Klassen in einer Programmiersprache (hier C#) eigentlich am sinnvollsten?

Also ich habe z.b. ein Programm was XML Daten in eine Datenbank schreibt, ausliest & auch ausgibt.

Nun wäre meine Frage, wie müsste eine sinnvolle Klassenstruktur aussehen?

2 Klasse? Einmal "Datenbank" & "XML" (und diese dann mit div. Methoden -> XML.cs = XMLSchreiben, XMLLaden | Datenbank.cs = DBLaden, DBSchreiben, DBUpdaten)

Oder die oben genannten Methoden als Klassen definieren? Hoffe ich drücke mich verständlich genug aus.

Im Grunde will ich mein Programm bzw. den Quellcode so sauber und übersichtlich wie möglich gestalten, darum lieber meherer (kleine) Klassen oder lieber zwei (große) Klassen?

Geschrieben

Google mal nach Seperation of Concerns. So klein wie möglich, so groß wie nötig. In eine Klasse gehört nur genau das, was zur Lösung ihrer Aufgabe nötig ist. Wichtig auch: YAGNI - you ain't gonna need it und KISS - Keep it stupid simple

Geschrieben

Im original Jargon File ist es nicht enthalten. Also ist wohl die aktuelle Fassung maßgeblich. (Um schonmal dem großen Jargon-File-Streit aus dem Weg zu gehen.)

KISS Principle sagt “Keep It Simple, Stupid”.

Geschrieben
Ne, "stupid" ist als Anrede zu verstehen, deswegen auch das Komma.

ich bin des englischen mächtig, danke ;-)

es existieren über 15 verschiedene bedeutungen des akronyms "KISS" ;-) Letztendlich ists wichtig, was es aussagt, nicht wie man es schreibt.

Geschrieben

Hallo

ich denke deine Frage wurde eigentlich noch nicht Beantwortet:

Ich pers. würde alles was zu XML gehört (hier. Lesen, Schreiben) in eine Klasse mit 2 Methoden aufnehmen und alle Grundfunktionen für die DB (Lesen, Schreiben, Updaten) in eine Klasse mit 3 Methoden.

Ich finde m.E. den Code leichter als wenn ich wie in diesem Fall 5 Klassen mit je einer Methode hätte.

Gruß Hans-Jörg

Geschrieben

Reden wir hier eigentlich von einem Parser oder nur von einem Reader. Ich habe mal einen XML-Parser geschrieben und mit 2 Funktionen / Methoden kommt man da nie im Leben aus.

Btw: "Keep it stupid simple" find ich persönlich besser (weils mich dann nicht beleidigt :) )

Geschrieben
Ich finde m.E. den Code leichter als wenn ich wie in diesem Fall 5 Klassen mit je einer Methode hätte.

man kann nicht pauschal sagen, was besser ist, da dies von der exakten Aufgabe der Klassen abhängt

bestimmte Aufgaben lassen sich nicht auf viele Klassen verteilen, andere schon

eine Klasse mit 1 Methode macht meines Erachtens nach so gut wie keinen Sinn

ich sag einfach mal: 1 Klasse mit Main-Methode

diese kann dann die .NET Klassen für XML- und Datenbankzugriff verwenden

in der Klasse können ggf. weitere Methoden vorhanden sein, um die Abarbeitung aufzuteilen und für Übersicht zu sorgen

Geschrieben (bearbeitet)

Wie nutzt man Klassen sinnvoll?

Als Ordnungskriterium.

Also ich habe z.b. ein Programm was XML Daten in eine Datenbank schreibt, ausliest & auch ausgibt.

Nun wäre meine Frage, wie müsste eine sinnvolle Klassenstruktur aussehen?

Unbenannt.PNG

als Diskussionsgrundlage.

Im Grunde will ich mein Programm bzw. den Quellcode so sauber und übersichtlich wie möglich gestalten, darum lieber meherer (kleine) Klassen oder lieber zwei (große) Klassen?

Single responsibility principle - Wikipedia, the free encyclopedia

Open/closed principle - Wikipedia, the free encyclopedia

Liskov substitution principle - Wikipedia, the free encyclopedia

Inversion of Control

Dependency Injection

Pro Aufgabe nur eine Klasse (one reason to change).

Von daher so kleine Klassen wie möglich.

Ob man nun 2 Klassen mit 100 Zeilen oder 4 mit 50 Zeilen Code schreibt, bleibt sich gleich - allerdings ist die Fehlersuche in kleineren Klassen effizienter. Kleine Klassen sind meist verständlich und überschaubar.

Als Faustformel habe ich mir gesetzt: Keine Klasse mit mehr als 200 Zeilen zu schreiben (und das ist meist schon an der Grenze).

Und pro Methode 5-10 Zeilen.

So lange Refactoring betreiben, bis es nicht mehr sinnig ist.

Trenne die Erzeugung von der Nutzung der Objekte.

Schaffe mit dem OpenClosedPrinzip Flexibilität und klare APIs.

Bearbeitet von lilith2k3

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...