0
は例えば、私はクラス外部の変更を回避するにはどうすればよいですか?
class Car
{
Engine TheEngine {get; set;}
}
そして、私はエンジン
Engine engine = new Engine();
Car.TheEngine = engine;
を設定し、私はエンジン
engine.Change();
を変更した場合、その後Car.TheEngineも変更されています。どのように副作用を避けるためのより良いデザインを得るには?
が変わる 'Change'方法をお持ちでない –
できるだけ不変であるためにあなたのクラスを設計「エンジン」。代わりに、コピーの変更を実行してそのコピーを返す 'Change'メソッドを持たせてください。 –