メソッドの実行に依存するプロパティを処理する最善の方法は何ですか?
2 つのプロパティを持つクラスと、それら 2 つのプロパティで何かを行うメソッドがあるとします。クラスをインスタンス化し、プロパティを設定してから、(パラメータなしで) メソッドを実行する方がよいでしょうか。または、クラスをインスタンス化してからメソッドを実行し、プロパティを設定するパラメーターを渡しますか?
例えば:
class Person ...
string Name ...
string Address ...
void Save() {
Database.SavePerson(this.Name, this.Address);
}
- - また - -
class Person ...
string Name ...
string Address ...
void Save(string name, string address) {
this.Name = name;
this.Address = address;
Database.SavePerson(this.Name, this.Address);
}
最初の例では、Save メソッドが呼び出される前に Name と Address がまだ設定されていない場合、エラーが発生します。したがって、これらのプロパティがメソッドで設定されていることを検証する必要があるようです。
2 番目の例では、メソッドの実行に必要なデータをユーザーに提供するように強制します。ただし、渡されるパラメーターは既にオブジェクトのプロパティであるため、これは少し冗長に思えます。
これを行う「最良の」方法はありますか?
前もって感謝します。