Sie sind hier: Wissen
Begriff Don't Repeat Yourself
Abkürzung DRY
Eintrag zuletzt aktualisiert am 11.10.2023

 Zur Stichwortliste unseres Lexikons

Was ist Don't Repeat Yourself ?

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#.

Querverweise zu anderen Begriffen im Lexikon

Methode

Beratung & Support

Schulungen zu diesem Thema

 Anfrage für eine individuelle Schulung zum Thema Don' t Repeat Yourself DRY  Gesamter Schulungsthemenkatalog