Страница 5 из 5

Re: Как делать не надо

Добавлено: 07 ноя 2015, 23:33
Romeo
Сионист писал(а):А конструктор глобального объекта когда вызывается?
Ощущение да жа вю. Смотришь в книгу, видишь фигу. Ну перечитай ещё раз то, что у меня написано.
Romeo писал(а):Глобальная переменная инициализируется до вызова main, а CoInitialize вызывается именно в main, то есть позже.
Инициализация - это и есть вызов конструктора, если что...
Сионист писал(а):Вы ещё бейсик помяните.
С тобой просто бесполезно спорить. Ты выбираешь фразу и придираешься к ней. А то, против чего тебе нечего сказать, ты просто игнорируешь. Что такое pre-get hook ты не понимаешь просто, да?
Сионист писал(а):Явное позднее связывание dll, поставляющей ресурсы, либо возврат оболочки над указателем с перегруженными операторами присваивания и привидения, что дополнительно гарантирует перехват каждого обращения на случай, если кому то придёт в голову к целевому объекту прикрутить ещё и деинит, а потом в одной части программы вызвать его, а в другой обратиться к самому объекту.
Про dll вообще не понятно, зачем было сказано. А та оболочка, которую ты предлагаешь, среди программистов называется Proxy. Если бы GOF читал чуть дальше синглтона, то достаточно было бы сказать всего одно слово, чтобы тебя поняли. Вопрос, а зачем нужно городить Proxy, если достаточно просто отложить вызов? Да вы, батенька, простых путей не ищите, как я погляжу. А о принципе KISS не слышал? Специально расшифрую - Keep It Simple, Stupid - Сделай это проще, дурачок. Программа должна быть настолько простой, насколько это возможно. Хотя, я думаю, что придумывать изощрённые решения взамен простому и понятному механизму ты решил отнюдь не ради искусства. Всё куда проще. Ты упорно не хочешь признать, что приём годный лишь потому, что ляпнул сначала, что так делать нельзя, и теперь не можешь дать обратного хода. Скажу тебе честно, это плохая черта характера, как для программиста, так и для человека, в принципе.

Re: Как делать не надо

Добавлено: 08 ноя 2015, 12:09
Сионист
А о принципе KISS не слышал? Специально расшифрую - Keep It Simple, Stupid - Сделай это проще, дурачок. Программа должна быть настолько простой, насколько это возможно.
И что ж такого сложно я предложил? Особенно в сравнении с ловлей ссылок и указателей по всему коду.

Re: Как делать не надо

Добавлено: 08 ноя 2015, 14:27
Romeo
Ты предложил написать отдельный класс и обернуть в него наш класс, вместо того, чтобы сделать функцию, возвращающую ссылку статическую переменную. Proxy нужен тогда, когда нужна дополнительная логика по замещению. А тут просто достаточно отложить создание объекта. Как по мне - отличный и простой механизм.

А "ловлю ссылок и указателей по всему коду" никто не отменяет и в случае Proxy. Но там, ко всему прочему, ещё и за вызовами операторов разыменования и операторов доступа к члену нужно будет следить. Хотя, если честно, я этот аргумент не понял. Мы сами за этим ссылками гнались. Нет в них ничего страшного.