Jaka jest różnica między dwiema metodami UpdateSubject poniżej? Czułem, że stosowanie metod statycznych jest lepsze, jeśli chcesz po prostu operować na jednostkach. W jakich sytuacjach powinienem stosować metody niestatyczne?
public class Subject
{
public int Id {get; set;}
public string Name { get; set; }
public static bool UpdateSubject(Subject subject)
{
//Do something and return result
return true;
}
public bool UpdateSubject()
{
//Do something on 'this' and return result
return true;
}
}
Wiem, że otrzymam wiele kopnięć od społeczności za to naprawdę denerwujące pytanie, ale nie mogłem się powstrzymać od zadawania tego pytania.
Czy staje się to niepraktyczne w przypadku dziedziczenia?
Aktualizacja:
dzieje się teraz w naszym miejscu pracy. Pracujemy nad 6-miesięczną aplikacją asp.net z 5 programistami. Nasz architekt zdecydował, że stosujemy wszystkie metody statyczne dla wszystkich interfejsów API. Jego rozumowanie jako statyczne metody jest lekkie i przynosi korzyści aplikacjom internetowym, utrzymując obciążenie serwera na niskim poziomie.