Возврат нового Объекта по сравнению с изменением того передал в в качестве параметра

Я столкнулся со следующей частью кода во время обзора кода.

Моя интуиция говорит мне, что это не следует за надлежащим ООП.

Я думаю, что вместо этого метод LoadObject должен возвратить новый объект SomeObject, вместо того, чтобы изменить тот передал в него. Хотя я не могу действительно найти надлежащее объяснение того, почему это лучше.

Мое решение лучше? и раз так почему? конкретно, какие принципы ООП или стандарты повреждаются в данном примере кода (если таковые имеются)?

   public void someMethod()
    {
        ...
        var someObject = new SomeObject();
        LoadSomeObject(reader,someObject);
    }

    private void LoadSomeObject(SqlDataReader reader, SomeObject someObject)
    {
       someObject.Id = reader.GetGuid(0);
    }
5
задан vicsz 11 August 2010 в 20:41
поделиться