2015-04-12 3 views
0

В настоящее время я работаю над проектом (Консольное приложение), которое состоит из нескольких классов. Ни один из этих классов не содержит никаких свойств. Они просто содержат ряд методов.Статический или нестатический класс?

Пример:

Скажем, у меня есть 2 классов, один Program.cs, который имеет основной метод. Другой класс, Worker.cs имеет все методы, которые обеспечивают необходимую функциональность.

Worker.cs просто имеет ряд методов, ничего больше.

В настоящее время в основной функции я вызываю методы, используя имя класса:

Worker.method1(); Worker.method2(param1, param2);

Мой вопрос: Должен ли я создать объект класса и назвать его? Или мне следует называть методы самого класса?

Возникает ли какое-либо влияние на производительность при использовании статического класса в нестационарном режиме?

Нет информации, относящейся к объекту, который мне нужно отслеживать.

+0

Если рабочий является фактическим объектом программы, который вы используете довольно много для разных методов, я бы сделал экземпляр класса. Когда вы просто используете один метод этого класса, я соглашаюсь больше на использование статического класса. Я думаю, что все связано с той ролью, которую играет класс в вашей программе. – Programmer1994

+0

Если ваш класс абсолютно без гражданства, и у вас нет необходимости в более сложных сценариях (например, классы экземпляра без учета состояния для инъекции зависимостей), оставьте этот класс статическим. Если вас интересуют соображения производительности, прочитайте http://stackoverflow.com/questions/12279438/performance-of-static-methods-vs-instance-methods. –

+0

См. Http://stackoverflow.com/questions/12279438/performance-of-static-methods-vs-instance-methods – Murdock

ответ

0

Вам нужен только класс, если вы намерены сохранить состояние , а не, общее для всех экземпляров класса.

Если нет информации о сохранении или связанной с исполнением, нет смысла создавать экземпляр, если вы не хотите использовать этот класс в качестве ссылки для инъекции зависимостей или для полиморфизма/получения.

Смежные вопросы