Статичен или не статично - стек преливане на Руски

Статично функция трябва да се използва, когато не е нужно да се създаде инстанция на класа. Това, например, допълнителен клас. Ако на създаването на обекта, който се използва от оператора ново:

Мисля, че в този пример няма смисъл създаването на статично - метод.

И този извод от по-горе статия:

Когато добавяте статични членове на класа, което трябва да се направи оценка, когато това води до път на развитие и по време на изпълнение. При разработването трябва внимателно да изберете кои членове ще бъдат статични, и се стреми да поддържа обектно-ориентиран архитектура. Предложения не се смесват в хетерогенна функционалността същия клас: клас не трябва да бъде сметище не са свързани помежду си статични методи. Ако една от клас съдържа само статични членове, не забравяйте да маркирате класа като статичен или запечатани (запечатан / NotInheritable) и дефинира самостоятелен конструктор клас, за да направи невъзможно да се създаде инстанция.

Също така, не забравяйте, че статичните класове, които опазват държавната между извикване на метод, по подразбиране трябва да са в безопасност в многонишкова среда. Когато разработваме клас, сейф в многонишкова среда, е необходимо особено внимание при прилагането и тестване клас. Преди да започнете да се създаде такъв клас, си задайте въпроса дали тези допълнителни разходи наистина са абсолютно необходими.

Автор на въздействието върху безопасността на работата на приложенията. В тази статия съм виждал, как може да намали производителността поради факта, че в класа има статичен конструктор. Оценяване на въздействието върху ефективността е особено важно, ако пишете библиотека, предназначена за многократна употреба. Никога не се знае дали някой ще използвате вашия клас в най-лошия случай, подобен на описания по-рано в тази статия.

Отговорено 10 април '12 в 05:38