Перегрузка методов — хороший или плохой дизайн?

Мне нравится перегружать методы, чтобы поддерживать все больше и больше случаев по умолчанию. Как перегрузка методов влияет на производительность? Исходя из вашего опыта, целесообразно ли перегружать методы? Каков предел? Каковы обходные пути?


person Hari Menon    schedule 27.08.2010    source источник


Ответы (4)


Перегрузка не влияет на производительность; он разрешается компилятором во время компиляции.

Что касается рекомендаций по дизайну, см. рекомендации по дизайну:

http://msdn.microsoft.com/en-us/library/ms229029.aspx

person Brian    schedule 27.08.2010

Если вы используете C# 4.0, вы можете сэкономить время и использовать дополнительные параметры. .

person Andy Gaskell    schedule 27.08.2010

  1. Влияние на производительность, насколько мне известно, похоже на определение нового метода. Влияние на производительность — это место на вашем жестком диске.
  2. Рекомендуется перегружать методы. Определенно, это обеспечивает удобство.
  3. Каков предел? Столько места на жестком диске, сколько у вас есть.
person Pieter Germishuys    schedule 27.08.2010
comment
Не забывайте об использовании памяти, потому что методы будут объединены JIT ;-) - person Steven; 27.08.2010

Помимо производительности, перегрузка при интенсивном использовании наверняка приведет к путанице, как только кто-то начнет поддерживать код, я предпочитаю делать это:

Person GetPersonByID( int id );
Person GetPersonByName( String name );

на этом:

Person GetPerson( int id );
Person GetPerson( String name );
person muaz    schedule 14.04.2020