|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
Алексей Кпоследний тренд написания хэлперов в ASP.Net MVC говорит об обратном Для хелперов static классы прекрасно подходят и МСУ про это сказал. Алексей КНаследование есть, но без полиморфизма. Ты что-то путаешь. static классы по определению являются sealed. Единственное что мы там можем "переопределить" это static методы Equals и ReferenceEquals. Пользы от этого лично я не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2013, 18:24 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
МСУневозможность использовать слабосвязность IoC, невозможность использования DI контейнеров, это им не нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2013, 18:44 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
bazileАлексей Кпоследний тренд написания хэлперов в ASP.Net MVC говорит об обратном Для хелперов static классы прекрасно подходят и МСУ про это сказал.При этом утверждая, что static - зло. bazileАлексей КНаследование есть, но без полиморфизма. Ты что-то путаешь. static классы по определению являются sealed. Единственное что мы там можем "переопределить" это static методы Equals и ReferenceEquals. Пользы от этого лично я не вижу. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2013, 18:46 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
ИзопропилМСУневозможность использовать слабосвязность IoC, невозможность использования DI контейнеров, это им не нужноДа, это нам не нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2013, 18:47 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
Алексей КПри этом утверждая, что static - зло. В одних ситуациях зло, в других нет. Это так трудно осознать? Алексей Кbazile... static классы по определению являются sealed. ... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Это не static классы. Попробуй такой пример: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2013, 19:04 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
bazileАлексей КПри этом утверждая, что static - зло. В одних ситуациях зло, в других нет. Это так трудно осознать?Лично меня особо беспокоит два недостатка static. А Вас? bazileЭто не static классы. Попробуй такой пример: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Это не важно. Важно что там static-методы. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2013, 19:20 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
Алексей КЭто не важно. Важно что там static-методы. Важно так как мы обсуждаем static классы, а не классы со static методами. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2013, 19:43 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
МСУdefragmentatorМСУ, у нас так пишут. Плохих программистов сейчас много. defragmentatorА в чём суицид-то?:) Проблемы при работе в многопоточной среде, в веб приложениях, в веб сервисах, невозможность использовать слабосвязность IoC, невозможность использования DI контейнеров, невозможность наследования и прочее, прочее, прочее... Мало? Я использую static класс для работы в многопоточной среде, с веб-сервисами и пока никаких проблем не заметил. А с чего Вы взяли, что должны быть проблемы? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2013, 20:58 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
defragmentatorskyANA, Ну как бы чтение настроек лучше выполнять в предсказуемом месте проекта:) defragmentatorА с чего Вы взяли, что должны быть проблемы? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2013, 21:20 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
defragmentatorМожно ли и нужно ли писать конструктор в Static - классе (C#)? Ведь использование static подразумевает отсутствие экземпляра объекта? Не только отсутствие, если лень тип объявлять запечатанным , вполне допустим хак с пустым конструктором типа. А вообще проблема ушла в прошлое, на четвертом появился сахар - lazy ( хоть и ругают меня за это), там даже есть для гурманов -double checked locking, Я разделяю беспокойство мсу по поводу многопоточности, это вполне реально при статической инициализации тут не имелось ввиду конкурентный доступ к чему- то, он будет всегда если есть потоки, это все на совести программиста лочить доступ или тащить в апартаменты подготовленные данные типа сессии единицы работы, подготовленной заранее в укромном месте.. ну и про производительность, ( не сказал никто ) это ущербно в разгар работы приложения вытаскивать тип - конструктор при первом обращении и инициализировать синглтон, более разумно при старте приложения делать эти операции ( дорогие) тогда выходит ---- и конструктор типа не нужен, мы его можем про инициализировать снаружи при старте.. А вообще есть есть куча фишек setting, для этого.. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2013, 23:11 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
defragmentatorЯ использую static класс для работы в многопоточной среде, с веб-сервисами и пока никаких проблем не заметил. А с чего Вы взяли, что должны быть проблемы?Проблемы начнутся, когда захочется сделать статическое поле. Доступ к нему придётся синхронизировать. Про мёртвые блокировки между статическими конструкторами уже сказали выше. Ну и в отсутствии полиморфизма тоже нет ничего хорошего. Больше вроде как проблем нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 06:50 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
bazileАлексей КЭто не важно. Важно что там static-методы. Важно так как мы обсуждаем static классы, а не классы со static методами.Убери static, сделай приватный конструктор - получится то же самое, только с наследованием статических членов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 06:54 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
Алексей КПроблемы начнутся, когда захочется сделать статическое поле. Доступ к нему придётся синхронизировать. как это? почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 09:27 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
ViPRosАлексей КПроблемы начнутся, когда захочется сделать статическое поле. Доступ к нему придётся синхронизировать. как это? почему?Потому что публичные статические члены принято делать потокобезопасными. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 09:44 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
Алексей К, то есть мне надо это как то по другому писать? Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 10:03 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
Алексей Кbazile Для хелперов static классы прекрасно подходят и МСУ про это сказал.При этом утверждая, что static - зло.[/quot] Смотря для чего зло. Для хелперов и расширений статика удобна, для всего остального - зло. Алексей КЭто не важно. Важно что там static-методы. Я говорил, вообще-то, о невозможности наследования статического класса, а не обычного класса со статическими методами. Да и декорирование обычных классов статикой (а-ля синглтон) не сулит ничего хорошего, окромя пули в голове. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 10:55 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
МСУ, интересно как МССКЛ запускает многопоточно СЛР процедуры ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 11:06 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
ViPRosМСУ, интересно как МССКЛ запускает многопоточно СЛР процедуры Обыкновенно. Берет и запускает. А что там в них происходит, SQL'ю нет никакого дела. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 11:14 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
МСУА что там в них происходит, ну это в первом приближении не волнует http://msdn.microsoft.com/en-us/library/ms403277.aspx например ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 11:55 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
ViPRosАлексей К, то есть мне надо это как то по другому писать? Код: c# 1.
readonly причём тут? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 12:09 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
МСУДа и декорирование обычных классов статикой (а-ля синглтон) не сулит ничего хорошего, окромя пули в голове.Ну не знаю. Мне синглетоны нравятся. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 12:10 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
ИзопропилМСУА что там в них происходит, ну это в первом приближении не волнует http://msdn.microsoft.com/en-us/library/ms403277.aspx например Речь про статические методы (CRL процедуры), а не про запрещенные типы, атрибуты и сборки. Алексей КМСУДа и декорирование обычных классов статикой (а-ля синглтон) не сулит ничего хорошего, окромя пули в голове.Ну не знаю. Мне синглетоны нравятся. Как может нравиться это убожество? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 12:42 |
|
Конструктор в static классе
|
|||
---|---|---|---|
#18+
Алексей КViPRosАлексей К, то есть мне надо это как то по другому писать? Код: c# 1.
readonly причём тут? откуда я знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 13:06 |
|
|
start [/forum/topic.php?fid=20&msg=38288951&tid=1404545]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 357ms |
total: | 535ms |
0 / 0 |