Это немного не по теме, но тем не менее важно.
Выбор методов изготовления статический или экземпляр не должно основываться на времени выполнения (что в любом случае, кажется, не имеет значения).Это должно быть основано на том, работает ли метод на объекте.Например, все методы Math. * Являются статическими, в то время как, например, (большинство) методы String. * Являются экземплярами, поскольку они работают с экземпляром String.Моя личная философия: хороший дизайн должен компенсировать несколько циклов, которые могут быть сохранены в другом месте .
Другой взгляд на эту тему: я недавно работал с парнем, которому сказали, что статическийметоды злые, потому что они возвращают нас в темный век процедурного программирования, и поэтому их следует избегать любой ценой.Это привело к странным примерам классов, которые требовали экземпляров для доступа к методам, которые абсолютно не интересовались внутренностями объекта.
Фу, было приятно получить это из моего очага.