Laden...

Eigenentwicklung vs Fertige Bibliothek

Erstellt von _daniel_ vor 17 Jahren Letzter Beitrag vor 17 Jahren 5.641 Views
_
_daniel_ Themenstarter:in
227 Beiträge seit 2006
vor 17 Jahren
Eigenentwicklung vs Fertige Bibliothek

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

L
497 Beiträge seit 2006
vor 17 Jahren

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.

S
8.746 Beiträge seit 2005
vor 17 Jahren

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.

_
_daniel_ Themenstarter:in
227 Beiträge seit 2006
vor 17 Jahren

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?

S
8.746 Beiträge seit 2005
vor 17 Jahren

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.

_
_daniel_ Themenstarter:in
227 Beiträge seit 2006
vor 17 Jahren

Und wie sieht es aus, nutzt ihr die entsprechende library direkt oder mit noch einem Wrapper dazwischen um ggf. mal austauschen zu können?

F
529 Beiträge seit 2003
vor 17 Jahren

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

F
10.010 Beiträge seit 2004
vor 17 Jahren

Dann hast Du aber das Prinzip des modernen loggings nicht verstanden.

1.433 Beiträge seit 2006
vor 17 Jahren

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

369 Beiträge seit 2006
vor 17 Jahren

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.

S
8.746 Beiträge seit 2005
vor 17 Jahren

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).

4.221 Beiträge seit 2005
vor 17 Jahren

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...

S
8.746 Beiträge seit 2005
vor 17 Jahren

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.....

4.221 Beiträge seit 2005
vor 17 Jahren

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...