Frage

Ich habe nicht viel mit .NET programmiert, aber ich habe einige der Anwendungsblöcke untersucht, die von der Patterns and Practices-Gruppe von Microsoft veröffentlicht wurden.Ich habe mich gefragt, wie diese normalerweise verwendet werden:

  • Direkt in Anwendungen verlinkt
  • Quelle in Anwendungen hinzugefügt und mit ihnen erstellt, möglicherweise mit einigen Anpassungen
  • Beispielcode, der beim Schreiben von anwendungsspezifischem Code als Referenz verwendet wird

Ich bin mir sicher, dass alle drei Verwendungszwecke häufig vorkommen, aber was sind die typischsten Nutzungsmuster?

Gibt es ein paar bestimmte Anwendungsblöcke, die von „jedem“ verwendet werden?

Notiz:Diese Frage ist verwandt mit, aber nicht dasselbe Anwendungsblöcke der Unternehmensbibliothek ODER selbst entwickeltes Framework?.

War es hilfreich?

Lösung

Ich habe in der Regel die Quelle in mein Projekt, und dann kann ich besser Intellisense (und ein besseres Verständnis von ihnen) bekommen. Ich neige sie überhaupt nicht, obwohl anpassen. Ich mag sie Bestand haben, so kann ich nur die jederzeit Lager Binärdateien verteilen ich sie brauche.

Andere Tipps

Ich habe Microsoft Enterprise Library ausgiebig genutzt. Sie sollten in der Regel nie in Ihrem Projekt nach Möglichkeit einbezogen werden. Die zusätzlichen Kosten für die Compilierung kann schwer sein. Darüber hinaus gibt es keinen Grund, den Quellcode in Ihrem Projekt haben die Klassen zu verwenden. Sie erhalten noch Intellisence während der Codierung, solange Sie einen Verweis auf die in Ihren Projekten DLL hinzuzufügen. Es ist auch ratsam, mehrere Codebases im Umlauf Ihrer Entwicklerumgebung vermeiden müssen. Wenn Sie die Klassen anpassen müssen, öffnen Sie sie in ihre eigene Lösung und halten eine Version aktiv. Natürlich immer stark schlage ich Versionskontrolle (VSS oder Subversion) in Fall verwenden, müssen Sie Änderungen rückgängig zu machen.

Es gibt auch Open-Source-Alternativen zu den Microsoft-Klassen, die in der Regel besser codiert werden (das heißt Log4Net, nUnit, etc.). Microsoft Code neigt aufgebläht und ineffizient.

Ich habe versucht, mehrere Application Blocks von Enterprise-Lib 3.1 (Mai 2007) und hier sind einige Kommentare:

Caching Application Block: Weniger interessant als System.Web.Caching in einfachen Szenarien (wie In-Memory-Caching) Exception Handling & Logging: Über kompliziert. NLog oder Log4Net sind bessere Lösungen.

ich an den anderen Blöcken gesucht, aber sie schien nicht für unsere Projekte zu passen.

Schließlich vollständig fallen gelassen wir EntLib, weil es schmerzhaft war anpassen ... Ich würde Ihnen raten, um wirklich eine weniger monolithischen Lösung als EntLib zu betrachten.

Wir haben gerade die EntLib 3.1-Binärdateien im globalen Assembly-Cache und Referenzen in unseren Projekten hinzuzufügen. Wir verwenden in der Regel nur das Logging-Framework, though.

Ich denke, dass bequemste Weg ist App Blöcke \ EntLib als Lösung Elemente hinzuzufügen. Auf diese Weise werden sie nicht jedes Mal, wenn Sie Ihr Projekt erstellen neu kompiliert werden (sie werden nicht in Build-Prozess teilnehmen) und Sie können leicht zugänglich machen ihren Quellcode \ Set Breakpoint etc.

Wir verwenden die Blöcke durch Verweise auf die DLLs hinzufügen, um sicherzustellen, dass „lokale Kopie“ so eingestellt, dass sie mit der App in der App-bin-Ordner bereitgestellt werden. Das bedeutet, dass wir uns mit dem GAC nicht verarschen - viel einfacher

Beim Debuggen kann Visual Studio Schritt noch in die Quellcode selbst wenn sie nicht direkt in Ihrem Projekt enthalten ist, solange Sie die EntLib Quellcode auf Ihrer Festplatte irgendwo haben. Es wird Sie für den Standort bei der ersten Verwendung aufgefordert, und merken Sie sich danach.

Wir verwenden derzeit die Caching, Exception und Logging-Blöcke. Wir haben noch nicht einen Anwendungsfall für den Rest gedacht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top