Wrapper Methoden können
Zum Beispiel für Abstraktion, Standardisierung und Refactoring verwendet werden, wenn Sie eine Bibliothek mit speziellen Hilfsmethoden importieren und verwenden Sie sie später entscheidet, dann aus der Anwendung bis hin zu einem anderen wechseln Bibliothek, die Ihnen mehr Funktionalität gibt, müssten Sie dann jede Codezeile neu schreiben, die die vorherigen Bibliotheken aufgerufen hat, um die Methoden der neuen Bibliotheken aufzurufen. Mit Anwendungen, die Zehntausende von Zeilen erreichen, ist dies eine große Aufgabe. Dies passiert häufiger, wenn Software lizenziert wird und wenn sie abläuft, wird eine neue Option ausgewählt.
Um dieses Problem zu lösen, können Sie alle Helper-Methoden in Ihre eigenen Methoden einbinden. Diese Methoden sind einfach eine Zeile, die die Methoden in Ihrer importierten Bibliothek aufruft. Sie würden alle Wrapper-Methoden durch Ihre Anwendung aufrufen, anstatt die importierte Bibliothek direkt aufzurufen.
Jetzt kommt der Nutzen aller Abstraktion, wenn Sie die neue Bibliothek importieren möchten. Anstatt jeden Aufruf über die Anwendung neu zu schreiben, können Sie einfach nur die Wrapper-Methoden umschreiben, die eine eigene Klasse sein sollten. Wenn Sie jetzt eine Methode in der Wrapper-Klasse ändern, wird die gesamte Anwendung, in der diese Methode verwendet wird, aktualisiert. (Siehe MVC4 .NET HTML Helper-Methoden für ein Beispiel)
Zum Thema Standardisierung können die Wrapper verwendet werden, um Standardwerte für viele Dinge festzulegen, die beim Erstellen des Objekts manuell festgelegt werden. Aber jetzt, wenn sie im Wrapper gesetzt sind, müssen sie nicht mehr jedes Mal gesetzt werden, wenn die ursprüngliche Methode aufgerufen wird. Beispielsweise könnten Sie die Dimensionen einer Rasteransicht im Gridview-Wrapper festlegen. Wenn Sie jetzt die Wrapper-Methode in Ihrer Anwendung aufrufen, haben alle Rasteransichten die gleichen Dimensionen und weniger Codezeilen müssen in der gesamten Anwendung verwaltet werden. auch Refactoring durchführen.
@Dougman - es ist nicht klar, dass dies Hausaufgaben sind (ich für einen bekomme "Programmierung Aufgaben" bei der Arbeit), also entferne ich das Tag, es sei denn, der Fragesteller sagt etwas anderes. Siehe http://meta.stackexchange.com/questions/11189/what-to-do-about-tag-abuse. –