コードレビュー中に次のコードを見つけました。
私の直感は、これが適切な OOP に従っていないことを示しています。
LoadObject メソッドは、渡されたオブジェクトを変更するのではなく、新しい SomeObject オブジェクトを返す必要があると考えています。なぜこれが優れているのかについての適切な説明を実際に見つけることはできませんが。
私のソリューションはより良いですか?もしそうなら、なぜですか?具体的には、特定のコード例で破られている OOP の原則または標準は何ですか (ある場合)。
public void someMethod()
{
...
var someObject = new SomeObject();
LoadSomeObject(reader,someObject);
}
private void LoadSomeObject(SqlDataReader reader, SomeObject someObject)
{
someObject.Id = reader.GetGuid(0);
}