0
Zum Beispiel habe ich eine KlasseWie vermeidet man die äußeren Veränderungen?
class Car
{
Engine TheEngine {get; set;}
}
Und wenn ich den Motor
Engine engine = new Engine();
Car.TheEngine = engine;
eingestellt Und wenn ich Motor ändern
engine.Change();
Dann wird Car.TheEngine ebenfalls geändert. Wie man ein besseres Design erhält, um den Nebeneffekt zu vermeiden?
Ihre Klassen entwerfen als unveränderlich wie möglich –
werden Sie eine 'Change' Methode nicht haben, ändert sich die 'Engine'. Als Alternative haben Sie eine Change-Methode, die die Änderung an einer Kopie vornimmt und die Kopie zurückgibt. –