Для предоставления услуг через API вы не можете объявлять ваши методы (конкретные действия) статически;потому что контекст API или, точнее говоря, контроллер должен быть инициализирован (для каждого запроса) для предоставления услуги (получить входящий запрос и записать ответ обратно в http-контекст).
Но если API не тот случай, объявление статического метода на самом деле поможет вам с производительностью, так как его можно вызывать статически и без необходимости создания экземпляра объекта.Тем не менее, это не очень хороший дизайн (да и не плохой).Важно то, что вы должны хорошо проанализировать сценарий, чтобы определить, действительно ли вы можете использовать преимущества модульности, получаемой за счет функционального программирования, а не объектно-ориентированного подхода.
Чтобы разбить его более технически для вас, существует шаблон проектирования, обычно известный как шаблон Singleton
, в котором объект создается только один раз в течение жизненного цикла программы, и один экземпляр используется совместно.со всеми сущностями, пытающимися получить доступ к типу.Это сказал;это совсем не плохо, но, повторюсь, вы должны хорошо проанализировать сценарий.
Например: контекст структуры одноэлементного объекта - плохая идея, потому что контекст может быть ликвидировани вы потеряете все изменения, данные отслеживания и т. д. С другой стороны, единый контекст ADO.Net является хорошей идеей, если вы следуете концепции единой ответственности за каждый из ваших статических методов.