powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Имеет ли право существовать такой подход к сиглетону?
25 сообщений из 306, страница 2 из 13
Имеет ли право существовать такой подход к сиглетону?
    #38199173
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

А вы прочтите C# in Depth. Implementing the Singleton Pattern in C# и найдите там шаблон синглтона с T:new() :) Я так понимаю это его произведение?))
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199204
Фотография Василий Викторович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,ну ну... говорю ж тебе не станешь, ты "ленивым" программистом, всегда себе какую то проблему найдешь, то рефлексия то к шаблону предерешься, наверное тебе нравиться писать много кода :) или ты его не пишешь а копируешь из других источников?:) а потом пилишь напильником? если что не стесняйся тут все свои
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199208
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вы пишите велосипеды на каждый чих? Не стесняйтесь тут полфорума такие)) какие кстати претензии к тому применению рефлексии что на вики, какая с ней может быть проблема?)
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199247
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch, если у меня есть классы с публичными конструкторами по умолчанию, то как мне добавить в них ещё и НЕ публичные конструкторы по умолчанию?
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199253
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Зачем?
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199256
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может стоит внимательно прочесть, про то что я предлагал для таких случаев добавить к примеру на вики BindingFlags.Public ?:)
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199260
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий Викторович,

ваш код не является реализацией паттерна синглтон
причина - открытый конструктор

я не говорю , что он плохой или хороший

ответ на вопрос :
Имеет ли право существовать такой подход к сиглетону ? - НЕТ
Имеет ли право существовать такой подход]? - ДА
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199261
Фотография Василий Викторович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch, да не никаких проблем :),делайте так как хотите, хоть через рефлексию, хоть без нее :) да вот только при использовании подобного вики подобного варианта синглтона всплывает интересная штука :)
Код: c#
1.
private static readonly S instance = (S)typeof(S).GetConstructor(BindingFlags.Instance | BindingFlags.NonPublic, null, new Type[0], new ParameterModifier[0]).Invoke(null);


ну ну.... интересно тот кто будет поддерживать данный код (а это могу быть и не я) сильно будет материться ?
а если подобного кода в проекте будет больше чем 1 место в 1 классе? да разбросан этот будет не по одному модулю и не одному классу :) о как бы я хотел посмотреть как бы Вы поддерживали хотя бы 10000 строк написанных подобной, или схожей абракадаброй , вы слишком мало писали кода если вы не понимаете что подобный код должен быть оправдан вескими причинами :), а если этих причин нет то за такое отрывают руки
P. S. а в открытом паблик конструкторе я не вижу ничего дурного почти у 95% классов открытые паблик - конструкторы той или иной реализации

P. P. S. а если кто - то решил создать обьект типа TClass минуя конструкцию Singleton<TClass> значит ему это нужно и он сам несет за это ответственность, если что пойдет не так то он ССЗБ
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199265
Фотография Василий Викторович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pation, мдя.. еще один защитник буквы закона :) люди.... ОДУМАЙТЕСЬ :) шаблоны проектирования НЕ есть статическая вещь :) и их можно и НУЖНО изменять :) а если вы считаете что Gof дала вам универсальную серебряную пулю... от всех проблем мне вас жаль :)
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199269
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если вы говорите о сферическом в вакууме применении рефлексии, то ваше право, мой вопрос состоит в том, что конкретно плохого в этой строчке? Или она вам кажется непостижимо сложной?
Как относятся 95% классов с открытыми конструкторами к реализации синглтона?
Правильно, в самом C# способов выстрелить себе в ногу недостаточно, надо добавить самописных.. )
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199285
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товарищи, вот есть у меня класс, что какое-то время используется так: var instance = new MyClass().
И как мне к нему применить паттерн Singleton?
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199288
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий Викторовичpation, мдя.. еще один защитник буквы закона :) люди.... ОДУМАЙТЕСЬ :) шаблоны проектирования НЕ есть статическая вещь :) и их можно и НУЖНО изменять :) а если вы считаете что Gof дала вам универсальную серебряную пулю... от всех проблем мне вас жаль :)
шаблоны статическая вещь, логическую концепцию шаблона менять никто не вправе, ибо это будет другой шаблон.
Техническую реализацию и тюнинг - пожалуйста, не нравится шаблон изобретите свой, ( но это будет ваш, а не тот что вам не нравится)
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199290
Фотография Василий Викторович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch, для меня да кажется непонятной , [сарказм]Конечно там же так много непонятных буковок латинского алфавита[/сарказм]
а насчет синглтона и его конструктора я могу ответить принципом Оккама, если знаете такой конечно, - "Не умножай сущности без необходимости", в данном конкретном случае синглтона рефлексия ненужна и вредна, потому как затрагивает не нужный в данном случае (и опасный, да да это тот самый способ выстрелить себе в ногу) метод создания экземпляра класса с использованием знания о том как создает обьекты компилятор C#, или вы хотите сказать что вы все внутриности компилятора C# понимаете?:)

P. S. проблема в том что ни Вы ни я не можем четко сказать что же именно делает эта строчка и что за интересные флаги в нее передаються :), точнее сказать то можем а вот понимание почему именно так а не иначе... знаете меня не сильно прельщает перекопать груду документации на MSDN для того чтобы через несколько дней или недель я действительно стал понимать ПОЧЕМУ ЭТО ТАК НАПИСАЛИ... повторяю еще раз я не против рефлексии как таковой но пусть ею занимается компилятор а не человек :)
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199294
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Унаследовать его от сабжевой / вики реализации и использовать свойство Instance?
Ну или вот так: Singleton<MyClass>.Instance ?
Или вы хотите, чтобы при вызове конструктора возвращалась ссылка на Singleton<MyClass>.Instance ?
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199296
Фотография Василий Викторович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи, и мир статическая вещь ?:) ну батиенька я вас разочарую, это не так :) а насчет почему я так высоко взял :) - программные системы это отображение систем реального мира, и если вы считаете что это не так... ну я вам сочуствую, а если программные системы это отображение реального мира значит они обладают очень интересным свойством- динамикой изменений, а значит все концепции которые описывают программную систему ТАКЖЕ являються динамически изменяемыми . Если бы такого не было мы бы до сих пор в двоичных кодах писали
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199300
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий Викторович,

Она ищет конструктор экземпляра без параметров с не-публичным модификатором доступа. Я хз насчет нескольких дней, достаточно глянуть на метод GetConstructor и перечисление BindingFlags.

А ваша реализация напрямую запрещает синглтону быть синглтоном.
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199306
Фотография Василий Викторович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,

кхмм для того что бы понять что такое BindingFlags нужно прочитать http://msdn.microsoft.com/ru-ru/library/system.reflection.bindingflags.aspx] http://msdn.microsoft.com/ru-ru/library/system.reflection.bindingflags.aspx
для того что бы понять type.GetConstructor мне нужно прочитать http://msdn.microsoft.com/ru-ru/library/h93ya84h.aspx] http://msdn.microsoft.com/ru-ru/library/h93ya84h.aspx
знаете это не слабое чтение с неслабым обьемом кода... и это мне нужно что бы понять 1!!! строчку!!! кода!!! ВЫ ЧТО ВЫ ПРЕДЛАГАЕТЕ ПОДДЕРЖИВАТЬ?
за такое отрывают руки именно из-за того что для того чтобы ПОНЯТЬ как работает эта гребаная строчка приходиться лопатить кучу ссылок гугла и MSDN
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199309
Фотография Василий Викторович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а моя реализация "всего лишь" требует наличия у TClass открытого конструктора, который по умолчанию прописываеться в 95% классов, и это ОЧЕНЬ большое приступление , а ваш код не.. он абсолютно прозрачен для понимания и поддержки ну подумаешь там пару раз в гугл слазить на MSDN пару статеек почитать... делов то.... а вот открытый конструктор это да... это страшно
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199312
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchВасилий Викторович,

Она ищет конструктор экземпляра без параметров с не-публичным модификатором доступа. Я хз насчет нескольких дней, достаточно глянуть на метод GetConstructor и перечисление BindingFlags.

А ваша реализация напрямую запрещает синглтону быть синглтоном.Каким образом запрещает-то?
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199323
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, я понял в чём проблема. ТС хочет одного: чтобы везде в коде, где он вызвал Singleton<MyClass>.Instance, он получил бы один и тотже экземпляр типа MyClass. А там, где он в коде написано new MyClass(), он получил бы разные экземпляры.
А ему говорят, что нельзя такого хотеть.
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199331
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий Викторович,

Теперь понятно, вы боитесь текста больше чем из 3 строчек.. ) Ну с этим я бороться не в силах)

P.S. А МС то и не знает, что можно разрешить создавать экземпляры Dispatcher . Вы бы их просветили что у всех классов прописывается открытый конструктор по-умолчанию, а то мужики то не знают)))
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199335
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Можно конечно. Ему говорят что разработчик может сознательно захотеть запретить создавать новый экземпляр, а он отвечает что 95% классов с открытым конструктором не могут ошибаться.
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199336
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Таким что требует у класса открытый конструктор, и, соответсвенно, оставляет на откуп дяде Васе, создаст он новый экземпляр или нет.
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199348
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchskyANA,

Таким что требует у класса открытый конструктор, и, соответсвенно, оставляет на откуп дяде Васе, создаст он новый экземпляр или нет.А реализация на вики требует наличия у класса НЕ открытого конструктора без параметров. Получается тоже напрямую запрещает синглтону быть синглтоном?
...
Рейтинг: 0 / 0
Имеет ли право существовать такой подход к сиглетону?
    #38199349
Фотография Василий Викторович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,

да я боюсь , боюсь... жена и ребенок не требуют моего внимания и времени, я должен конечно убить как минимум пару вечеров чтобы понять а КАК ЖЕ работает эта гребаная, ну или аналогичная ей, строчка кода чтобы иметь возможность туда внести изменения при необходимости, дорогой мой помимо КОДА И КОМПЬЮТЕРА СУЩЕСТВУЕТ И ДРУГОЙ МИР!!!
P. S. пишите код настолько ясно и понятно на сколько это возможно, а рефлексия ... этому не способствует
...
Рейтинг: 0 / 0
25 сообщений из 306, страница 2 из 13
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Имеет ли право существовать такой подход к сиглетону?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]