| 

.NET C# Java Javascript Exception

4
Hallo,
ich möchte die Codequalität meiner Winforms Anwendungen verbessern und bin dazu auf den Begriff der 'Attributen Programmierung' gestossen. Mir scheint das ein viel versprechender Ansatz zu sein, so weit ich das Konzept verstanden haben.
Leider habe ich im ganzen Heftarchiv von dotnetpro nichts dazu gefunden.
Kann das sein? Ist es ev. unter einem anderen Namen bekannter?
Wer es kennt - wo ist der Unterschied zu einem Design Pattern wie MVC?

Vorab schon mal vielen Dank
Achim Schenk
News:
18.03.2013
aschenk 21 2
Was möchtest Du genau verbessern? Meinst Du vlt. "Aspect Oriented Programming"? Vlt. kannst Du ein paar Links posten, in denen Du gestöbert hast und aus denen Du das Attribut "vielversprechend" abgeleitet hast. Das würde (zumindest mir) helfen, Deine Ziele einzuschränken.
ffordermaier 18.03.2013
3 Antworten
3
Die "attributierte Programmierung" ist ein Weg, MEF zu nutzen. Sie geht aber weit über die Nutzung von MEF hinaus, Attribute erweisen sich für sehr viele verschiedene Einsatzszenarien als nützlich.
Mit Attributen kannst Du Typen um Metainformation erweitern, du hast sozusagen eine zusätzliche Dimension zur Beschreibung von Typen. Sie unterliegen einigen Einschränkungen, eröffnen aber sehr viele Möglichkeiten.
Angefangen bei (mehr oder minder) reinem Tagging (z.B. [TestFixture] Attribut bei NUnit) bis hin zur Verwendung in AOP mit z.B. PostSharp begegnet man Ihnen an unterschiedlichen Stellen immer wieder.

Dass aber Attribute Dein Problem bzgl. "gewachsener Codebase, die nicht clean und testbar ist" lösen, glaube ich nicht. Sie mögen auf dem Weg dorthin ein nützliches Werkzeug sein, dessen Einsatz sich an der einen oder anderen Stelle anbieten könnte, aber den großen Wurf wirst Du damit nicht landen.

Ich empfehle Dir für den Anfang zwei Bücher, die Dir sicher helfen werden.

1. "Working effectively with legacy code", Michael Feathers
2. "Refactoring to patterns", Joshua Kerievsky

Für (gerade am Anfang) schwer oder untestbare Konstrukte empfehle ich Dir einen Blick auf Moles und Fakes bzw. ähnliche Produkte zu werfen (z.B. Typemock Isolator).
19.03.2013
ffordermaier 8,4k 3 9
Vielen Dank, das hilft mir weiter.
aschenk 19.03.2013
0
Hallo ffordermaier,
hier der gewünschte Link: Übersicht über das Modell der attributierten Programmierung...

Verbesserungen: Nun ich würde meinen gewachsenen Code nicht als 'Clean Code' bezeichnen.
Von einer Testbarkeit ganz zu schweigen. Das wäre aber das Ziel.
Ich suche nun einen gangbaren Weg, mich diesem Ziel nach und nach per Refactoring anzunähern.
Aktuell versuche ich die verschiedenen Techniken zu verstehen und einzuschätzen, wobei mir die Donetpro immer eine große Hilfe war. Aber über die attributierte Programmierung habe ich dort nichts gefunden (was mich dann schon wieder skeptisch macht).
19.03.2013
aschenk 21 2
Du wirst wahrscheinlich eher fündig, wenn Du nach MEF suchst.
lbm1305 19.03.2013
0
Wer es kennt - wo ist der Unterschied zu einem Design Pattern wie MVC?


Mein Kommentar Deiner letzten Antwort.
Du wirst wahrscheinlich eher fündig, wenn Du nach MEF suchst


MEF erlaubt es kurz gesagt, Komponenten zur Laufzeit einem Programm hinzuzufügen, ohne dass man den Code kennen muss. Dies geschieht per Reflection und über Attribute. MEF ist nicht vom Aufbau der Anwendnung abhängig.

Die Projektseite findet man auch Codeplex: http://mef.codeplex.com/

Bei Fragen zu diesem Post bitte die Kommentarfunktion nutzen.
19.03.2013
lbm1305 849 1 8
lbm1305 849 1 8

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH