Don't Repeat Yourself (DRY)
Eintrag zuletzt aktualisiert am: 11.10.2023
Das 'Don't Repeat Yourself'-Prinzip (DRY) ist ein grundlegendes Konzept in der Softwareentwicklung. Es besagt, dass Sie denselben Code nicht mehrmals in Ihrem Projekt wiederholen sollten. Stattdessen sollten Sie den Code abstrahieren und an verschiedenen Stellen im Projekt aufrufen, wenn Sie denselben Code benötigen. Dies trägt zur Wartbarkeit, Lesbarkeit und Erweiterbarkeit Ihres Codes bei.
Hier ist ein einfaches Beispiel in C#, das das DRY-Prinzip verdeutlicht:
Angenommen, Sie schreiben ein Programm, das die Fläche und den Umfang von Rechtecken berechnet. Sie könnten den Code für die Berechnungen an verschiedenen Stellen in Ihrem Projekt verwenden und somit das DRY-Prinzip verletzen:
csharp
Copy code
class MainProgram
{
static void Main()
{
double width1 = 5;
double height1 = 10;
double area1 = width1 * height1;
double perimeter1 = 2 * (width1 + height1);
double width2 = 7;
double height2 = 3;
double area2 = width2 * height2;
double perimeter2 = 2 * (width2 + height2);
Console.WriteLine($"Rechteck 1 - Fläche: {area1}, Umfang: {perimeter1}");
Console.WriteLine($"Rechteck 2 - Fläche: {area2}, Umfang: {perimeter2}");
}
}
In diesem Beispiel wiederholen sich die Berechnungen für Fläche und Umfang von Rechtecken zweimal, einmal für "Rechteck 1" und einmal für "Rechteck 2". Dies verstößt gegen das DRY-Prinzip.
Hier ist eine verbesserte Version des Codes, die das DRY-Prinzip einhält:
csharp
Copy code
class Rectangle
{
public double Width { get; set; }
public double Height { get; set; }
public double CalculateArea()
{
return Width * Height;
}
public double CalculatePerimeter()
{
return 2 * (Width + Height);
}
}
class MainProgram
{
static void Main()
{
Rectangle rectangle1 = new Rectangle { Width = 5, Height = 10 };
Rectangle rectangle2 = new Rectangle { Width = 7, Height = 3 };
Console.WriteLine($"Rechteck 1 - Fläche: {rectangle1.CalculateArea()}, Umfang: {rectangle1.CalculatePerimeter()}");
Console.WriteLine($"Rechteck 2 - Fläche: {rectangle2.CalculateArea()}, Umfang: {rectangle2.CalculatePerimeter()}");
}
}
In dieser Version wurde eine Rectangle-Klasse erstellt, die die
Methoden CalculateArea und CalculatePerimeter enthält. Dadurch wird der Code zur Berechnung von Fläche und Umfang an einer einzigen Stelle definiert und kann in der gesamten Anwendung wiederverwendet werden. Dies ist ein Beispiel für die Anwendung des DRY-Prinzips in C#.