Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «paderno»
JAVA / Правильный Singleton в Java 2011-09-30 14:22:45
Уверен, каждый из читателей, знает что такое шаблон проектирования “Singleton”, но не каждый знает ...
+ развернуть текст сохранённая копия
Уверен, каждый из читателей, знает что такое шаблон проектирования “Singleton”, но не каждый знает как его программировать эффективно и правильно. Данная статья является попыткой агрегирования существующих знаний по этому вопросу.
Кроме того, можно рассматривать статью как продолжение замечательного исследования, публиковавшегося на Хабрахабре ранее.
Читать дальше →
Тэги: checked, design, double, java, lock, pattern, singleton
.NET / Dispose pattern 2011-09-27 22:18:59
“Не стоит следовать некоторой идиоме только потому, что так делают все или так где-то написано” < ...
+ развернуть текст сохранённая копия
“Не стоит следовать некоторой идиоме только потому, что так делают все или так где-то написано”
Мысли автора статьи во время чтения и рефакторинга чужого кода
Ни для кого не будет секретом, что платформа .NET поддерживает автоматическое управление памятью. Это значит, что если вы создадите объект с помощью ключевого слова new, то вам не нужно будет самостоятельно заботиться о его освобождении. Сборщик мусора определит «достижимость» объекта, и если на объект не осталось корневых ссылок, то он будет освобожден. Однако, как только речь заходит о ресурсах, таких как сокет, буфер неуправляемой памяти, дескриптор операционной системы и т.д., то сборщик мусора, по большому счету, умывает руки и весь головняк по работе с такими ресурсами ложится на плечи разработчика.
А как же финализаторы? – спросите вы. Ну, да, есть такое дело, финализаторы действительно предназначены для освобождения ресурсов, но проблема в том, что время их вызова не детерминировано, а это значит, что никто не знает, когда они будут вызваны и будут ли вызваны вообще. Да и порядок вызова финализаторов не определен, поэтому при вызове финализатора некоторые «части» вашего объекта уже могут быть «разрушены», поскольку их финализаторы уже были вызваны. В общем, финализаторы – они-то есть, но это скорее «страховочный трос», а не нормальное средство управления ресурсами.
Читать дальше →
Тэги: .net, idisposable, pattern, practice
.NET / [Из песочницы] Создание Push Notification сервиса на основе WCF REST 2011-09-17 22:23:50
В качестве вступления
Модель push-нотификаций является распространённой моделью для ...
+ развернуть текст сохранённая копия
В качестве вступления
Модель push-нотификаций является распространённой моделью для обмена сообщениями. Она подразумевает не получение информации по запросу, а немедленную её передачу отправителю при появлении этой информации на сервере.
Стандартный подход с ипользованием wsDualHttpBinding
Возможность создания push-механизма предоставляет и WCF. Этот фреймворк позволяет создать push-сервис с использованием wsDualHttpBinding контракта. Такой контракт позволяет для каждого запроса определить метод обратного вызова, который будет вызван при наступлении какого-либо события.
Если применить этот механизм к системе обмена сообщениями, то получим следующий алгоритм:
Читать дальше →
Тэги: async, notify, pattern, push, rest, wcf, wsdualhttpbinding
JAVA / Расширяемым классам — расширяемые Builder'ы! 2011-09-07 00:50:53
...
+ развернуть текст сохранённая копия
Недавно я столкнулся с задачей, которая оказалось гораздо менее тривиальной, чем показалась на первый взгляд. Пусть есть некоторый класс(в моём примере immutable), для которого есть builder. Необходимо иметь возможность наследоваться от этого класса, предоставляя builder, унаследованный от builder-a своего предка. Под катом я покажу ход своих размышлений, неудачные варианты и окончательное решение задачи.
Читать дальше →
Тэги: build, extendable, immutable, java, pattern
PHP / Iterator, ArrayAccess, Countable: Объект как массив 2011-09-04 23:18:07
0. Intro.
В стандартной поставке php имеются 2 интересных интерфейса, позволяющие ...
+ развернуть текст сохранённая копия
0. Intro.
В стандартной поставке php имеются 2 интересных интерфейса, позволяющие значительно изменять поведение объектов в языке.
Это Iterator и ArrayAccess. Первый позволяет итерировать объект через такие конструкции each, foreach, for. Второй же, в свою очередь, позволяет обращаться к объекту, как к массиву применяя привычное $array[] = 'newItem'. Соответственно, для полноценной эмуляции массива, объект обязан заимплементить оба интерфейса.
Читать дальше →
Тэги: array, arrayaccess, arrayobject, countable, interface, iterator, object, pattern, php, serializable, traversable
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Главная / Главные темы / Тэг «paderno»
|
Взлеты Топ 5
Падения Топ 5
|