Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Eigenentwicklung vs Fertige Bibliothek
_daniel_
myCSharp.de - Member



Dabei seit:
Beiträge: 229

Themenstarter:

Eigenentwicklung vs Fertige Bibliothek

beantworten | zitieren | melden

Hallo,
ich bin gerade am überlegen, ob ich für meine Anwendung dinge wie Logging und Caching selbst entwickeln soll oder etwas fertiges wie log4net, nlog oder die Enterprise Library nutzen soll.

Das Problem seh ich darin, dass diese fertigen Dinge jede Menge Funktionen bieten bzw mitschleppen die ich nicht brauche und somit die Performance wohl schlechter sein wird. Habe mich etwas mit der Enterprise Library auseinandergesetzt und zich Dlls mitschleppen für nen bischen logging ist dann doch einiges wie ich finde.

Wie steht ihr zu dem Thema, und wie sind eure Erfahrungen diesbezüglich

grüße
private Nachricht | Beiträge des Benutzers
Lord Hessia
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Gießener Umland

beantworten | zitieren | melden

Man sollte gerade in der Programmierung das Rad nicht neu erfinden, solange das nicht nötig ist. Eine etwas schlankere Anwednung ist es meines Erachtens nicht Wert, sich z.B. ein eigenes Logging-Framework zu schreiben. Log4net z.B. funktioniert wirklich hervorragend.

Etwas selber bauen sollte man nur, wenn es entsprechende Funktionalität einfach noch nicht gibt. Die gesparte Zeit sollte man auf die Qualität seiner Programme verwenden, was dem Anwender nachher mehr nützt, als ein kleineres Paket.

Ausnahmen hiervon sind möglich, wenn der Ressourcenbedarf wirklich entscheidend ist - aber dann ist wird wohl auch selten .NET eingesetzt. Bei Open Source-Frameworks kannst Du ja auch Anpassungen vornehmen und nicht benötigtes rausschmeißen.
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.
private Nachricht | Beiträge des Benutzers
svenson
myCSharp.de - Member



Dabei seit:
Beiträge: 8775
Herkunft: Berlin

beantworten | zitieren | melden

Gerade die Application Blocks sind wirklich ziemlich hilfreich. Man sollte allerdings die Komplexität einiger diese Blocks nicht unterschätzen. Der Lernaufwand ist aber i.d.R. kein Vergleich zum zeitlichen Aufwand des Selbstschreibens.

Die meisten Projekte scheitern eher daran, dass alle mit dem "Not-invented-here-Syndrom" infiziert sind, also glauben, alles selbst machen zu müssen.
private Nachricht | Beiträge des Benutzers
_daniel_
myCSharp.de - Member



Dabei seit:
Beiträge: 229

Themenstarter:

beantworten | zitieren | melden

Danke schonmal für die Antworten.
Was gibt es denn außer der Enterprise Library noch an ähnlichen Libraries oder auch einzelne mit ähnlicher funktion?
private Nachricht | Beiträge des Benutzers
svenson
myCSharp.de - Member



Dabei seit:
Beiträge: 8775
Herkunft: Berlin

beantworten | zitieren | melden

Für das Logging würde ich auch log4net empfehlen. Auto-Updater-Varianten findest du auch wie Sand am Meer. Auch für DALs und UI wirst du Ersatz finden. Caching- und Offline-Block sind meines Wissen ohne Pendant.
private Nachricht | Beiträge des Benutzers
_daniel_
myCSharp.de - Member



Dabei seit:
Beiträge: 229

Themenstarter:

beantworten | zitieren | melden

Und wie sieht es aus, nutzt ihr die entsprechende library direkt oder mit noch einem Wrapper dazwischen um ggf. mal austauschen zu können?
private Nachricht | Beiträge des Benutzers
Franknstein
myCSharp.de - Member



Dabei seit:
Beiträge: 531

beantworten | zitieren | melden

Ich muss sagen, dass es beim Logging kaum was besseres gibt, als die Ausgabeumleitung der Konsole in eine Datei. Ob man Performance verschenkt weiß ich nicht, aber dafür habe ich eine Klasse die ich auch in anderen Projekten ohne Änderungen nutzen kann.

Und das beste ist: Das sind nur ~10 Zeilen Quelltext
--
mfg
Franknstein
Besuchen sie das VisualC++ - Forum
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10076

beantworten | zitieren | melden

Dann hast Du aber das Prinzip des modernen loggings nicht verstanden.
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1436
Herkunft: Schweiz

beantworten | zitieren | melden

Eigenentwicklung benötigt viel mehr Zeit, bietet aber sehr viel Übung, was für den weiteren Werdegang sicher nützlich ist.

Fertige Produkte sind ok, sofern
a) die Zeit fehlt
b) der Kosten /Nutzen Faktor stimmt.
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
private Nachricht | Beiträge des Benutzers
Kabelsalat
myCSharp.de - Member

Avatar #avatar-1937.jpg


Dabei seit:
Beiträge: 371
Herkunft: Bodensee

beantworten | zitieren | melden

Zitat
Original von _daniel_
Das Problem seh ich darin, dass diese fertigen Dinge jede Menge Funktionen bieten bzw mitschleppen die ich nicht brauche und somit die Performance wohl schlechter sein wird. Habe mich etwas mit der Enterprise Library auseinandergesetzt und zich Dlls mitschleppen für nen bischen logging ist dann doch einiges wie ich finde

Abgesehen von log4net habe ich mich mit den einzelnen Logging-Frameworks noch nicht auseinander gesetzt, allerdings muss ich dem Aspekt "Zich Dlls mitschleppen für nen bischen logging ist dann doch einiges wie ich finde", insbesondere in Anbetracht deiner Aussage "und somit die Performance wohl schlechter wird", widersprechen, da die Anzahl der Dlls (Assemblies) und der darin enthaltenen Klassen für die Performance deines Programms keinen wirklichen Nachteil darstellt. Diese hängt maßgeblich von der Implementierung der zur Verfügung gestellten Funktionalität ab.
private Nachricht | Beiträge des Benutzers
svenson
myCSharp.de - Member



Dabei seit:
Beiträge: 8775
Herkunft: Berlin

beantworten | zitieren | melden

Andersrum wird sogar ein Schuh draus. Eine Anwendung mit MEHR Dlls ist potentiell modularer und somit flexibler als eine mit weniger (notwendig aber nicht hinreichend).
private Nachricht | Beiträge des Benutzers
Programmierhans
myCSharp.de - Experte

Avatar #avatar-1651.gif


Dabei seit:
Beiträge: 4318
Herkunft: Zentralschweiz

beantworten | zitieren | melden

Zitat
Original von schaedld

Fertige Produkte sind ok, sofern
a) die Zeit fehlt
b) der Kosten /Nutzen Faktor stimmt.

c) auch das machen was sie sollten....

In unserer Firma wurden nur 2 LIBS eingekauft (UI-Controls) und genau diese LIBS bringen mich manchmal zur Verzweiflung, da ich auf diesen Code keinen Einfluss habe und Controls welche zwar toll aussehen oft wie **** (Selbstzensur) codiert sind, aber nicht so ohne weiteres (Seiteneffekte) durch andere Controls ersetzt werden können.
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
private Nachricht | Beiträge des Benutzers
svenson
myCSharp.de - Member



Dabei seit:
Beiträge: 8775
Herkunft: Berlin

beantworten | zitieren | melden

Lass mich raten, eine davon heisst Infragistics....

Bei UI-Controls bin ich auch vorsichtig geworden. Da will man nur eine leicht abgewandelte Listbox und holt sich dann so ein Ungetüm ins Haus.....
private Nachricht | Beiträge des Benutzers
Programmierhans
myCSharp.de - Experte

Avatar #avatar-1651.gif


Dabei seit:
Beiträge: 4318
Herkunft: Zentralschweiz

beantworten | zitieren | melden

Zitat
Original von svenson
Lass mich raten, eine davon heisst Infragistics....

Nö aber eines der problematischen Controls ist ein Datagrid (so falsch liegst Du also nicht)
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
private Nachricht | Beiträge des Benutzers