Ist SPRING.Net der beste Rahmen für Aspect Oriented Programming (AOP)? [geschlossen]

StackOverflow https://stackoverflow.com/questions/246470

  •  05-07-2019
  •  | 
  •  

Frage

Bitte geben Sie mir die Vor- und Nachteile des jeweiligen Rahmens verwendet wird.

Kann ich Beispiele für Erfolge, wo Sie AOP in Sie .NET-Anwendungen verwendet?

War es hilfreich?

Lösung

Ein älterer Beitrag, aber könnten Sie helfen, einige der Pro / Nachteile von Produkten und AOP-Implementierungen zu sehen.

http: //ayende.com/Blog/archive/2007/07/02/7-Approaches-for-AOP-in-.Net.aspx

Andere Tipps

Bisher haben wir Spring.Net AOP für das klassische AOP Beispiel für die Anwendung Protokollierung auf eine Anwendung verwendet haben. Ich habe keine der anderen AOP-Frameworks für .NET verwendet.

Es funktioniert sehr gut ohne merkliche Auswirkungen auf die Leistung, entfernt, um eine Tonne von überschüssigem und sich wiederholende Code aus unserer Anwendung und verbesserte Protokollierung Abdeckung und die Qualität und Konsistenz Informationen zu protokollieren. Die Protokollierung ist jetzt an einem Ort geschrieben und konfigurierte an einem Ort -. Eine enorme Verbesserung

Es gibt ein paar Einschränkungen aber: Spring.Net AOP jedes Objekt erfordert beraten wird mindestens eine Schnittstelle zu implementieren; das heißt, wenn Sie Methodenaufrufe auf ein Objekt protokollieren wollen, das Objekt muss mindestens eine Schnittstelle implementieren. Auch hat AOP keine Sichtbarkeit der Aktivität in ein Verfahren empfohlen; das heißt, Sie können nicht AOP-implementierte Protokollierung verwenden, um den wechselnden Wert einer Variablen innerhalb eines Verfahrens zum Beispiel loggen sein.

In der Praxis jedoch ist dies meist ein Problem, wenn Sie versuchen, retrospektiv AOP zu einer bestehenden Anwendung anzuwenden. Codierung an die Schnittstelle ist IMHO gute Entwicklung der Praxis sowieso, und wenn Sie die internen Abläufe Ihrer Methoden zur Anmeldung benötigen, das kann auch ein Hinweis darauf sein, dass sie Refactoring werden müssen.

hat AOP einige Planung erfordert zu implementieren und hat eine gewisse Disziplin in Ihren Programmierpraktiken erfordern aber, wie automatisierte Unit-Tests, IMHO dies dient in der Regel nur die Codequalität zu verbessern.

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