This post originated from an RSS feed registered with .NET Buzz
by -.
Original Post: Klassen als obsolet (veraltet) markieren
Feed Title: Norbert Eder - Living .NET
Feed URL: http://feeds.feedburner.com/NorbertEder-Livingnet
Feed Description: Copyright (c)2005, 2006 by Norbert Eder
Vor allem bei der Entwicklung von Frameworks kommt es immer wieder vor, dass bestimmte Klassen durch andere ersetzt werden, da ein anderes Pattern eingezogen wurde, oder einfach nur eine bessere Implementierung gefunden wurde. Nun sollten diese Klassen nicht sofort aus dem Framework entfernt werden - aus Gr��nden der Kompatibilit��t zu ��lteren Versionen.
Hier bietet es sich an, diese Klassen als obsolet zu markieren. Dies kann folgenderma��en erreicht werden:
[Obsolete("BeschreibungsText", false)] // Keine Fehlermeldung
public class Test { }
[Obsolete("BeschreibungsText", true)] // Fehlermeldung
public class Test { }
Es stellt sich nun lediglich die Fraeg, wie lange diese Klassen im Framework erhalten bleiben sollten. Ich handhabe dies so, dass obsolte Klassen beim ��bern��chsten Major-Release entfernt werden. Alle Minor-, Build-, oder gar Revision-Versionen werden nicht mit einbezogen. Dies bedeutet nun anhand eines Beispiels:
In der Version 2.0 eines Frameworks wird eine Klasse als obsolete markiert, dann fliegt diese in Version 4.0 tats��chlich hinaus. So bleibt gen��gend Zeit, auf die neue Klassenstruktur umzustellen.