Источник
За примерами адаптеров далеко ходить не нужно — достаточно взглянуть на адаптеры STL-контейнеров. Например, std::stack. Назначение адаптеров — ограничить функциональность существующей сущности, добавить дополнительные проверки, внести какие-то ограничения и так далее, получив тем самым новую концептуальную сущность.
Read more...
Adapter, Development, Programming, паттерн, Паттерны, Программирование, разработка
Источник
«Variant» это такой объект-контейнер, в который можно поместить любой другой объект любого типа, а сами «варианты» можно сложить в массив, поскольку с точки зрения языка они явлются одним и тем же типом, независимо от того, что внутри них хранится. Помните наш мультфильм про Винни-пуха? «В нем можно держать все что угодно» — говорил Винни-пух про горшочек из-под меда. Аналогично, рассматриваемый паттерн позволяет в одном и том же объекте хранить значения любого типа. «Variant» это горшочек, в котором можно держать все что угодно.
Read more...
any, Development, Programming, variant, паттерн, Паттерны, Программирование, разработка
Источник
Признаюсь, я фанат регулярных выражений. Всегда, когда я вижу задачу, которую можно решить при помощи RegEx, я загораюсь и бегу писать тест под новенькое Regex условие. Раньше даже специально держал установленный SharpDeveloper, так как там была удобная тулза для проверки RegEx выражений, сейчас же я немного поумнел и для каждого RegEx пишу просто отдельный тест и в нем же и тестирую. Вообще, нужно стараться находить те задачи, которые предназначены для решения их через регулярные выражения. Мне сложно помнить синтаксис регулярных выражений, точнее приходится их писать не так уж и часто, потому из головы постоянно вылетает: какой символ отвечает за начало строки и т.п. Для освежения я постоянно пользуюсь очень легкой статьей Регулярные выражения на RSDN.
Read more...
Development, extensions, Programming, regex, regular, regular extensions, Программирование, разработка
Так вот, это был некий Хлюст. Давно
был. Он не слушался старших и теперь
лежит там специально для того, чтобы
показывать умным людям дорогу.
А. и Б. Стругацкие «Пикник на обочине»
Вы знаете, в чем разница для охотника между уткой и слоном? Помимо всего прочего в том, что в слона значительно легче попасть. Он – большой. И если попасть (например, чтобы заразить его каким-нибудь новым вирусом) – это все, что вы хотите, то охота на слонов куда проще чем охота на уток. Со слонами и утками это обычно не так, а вот в программировании подобная цель случается сплошь и рядом. В конце 90-х стало ясно, что Windows – это очень большая цель и с этим надо что-то делать. Так появился SDL – Security Development Lifecycle – методика разработки безопасных программ, применяемая на Microsoft уже восемь лет.
Read more...
Development, Programming, Security, безопасность, Программирование, разработка