Паттерн проектирования «Команда»

В этом небольшом рецепте, я познакомлю вас с одним из поведенческих паттернов объектно-ориентированного программирования, который позволит вам инкапсулировать запросы в виде клиентских объектов, а также организовывать целые очереди таких «запросов на действие» с поддержкой их отмены и параметризации под конкретные нужды.

Читать далее →

Подробнее

Паттерн проектирования «Фабричный метод»

В этом рецепте мы на простом примере покажем, как легко и быстро приготовить паттерн «Фабричный метод» (в английском варианте — Factory method), а чтобы не ходить вокруг и около в качестве примера возьмем уже готовую идею из книги Э.Фримен «Паттерны проектирования» и создадим свою сеть пиццерий, которые размещаются в разных регионах.

Читать далее →

Подробнее

Интерполяция по Лагранжу

Иногда в прикладной задаче возникает необходимость по уже известным точкам некоторой функции что-нибудь рассчитать, но при этом в расчете требуются промежуточные значения, которые по каким-то причинам не были приложены к исходным данным или же не были вычислены. В таком случае, можно попытаться получить значения функции в промежуточных точках с помощью процедур интерполяции, и в таком случае вас выручит этот несложный рецепт.

Читать далее →

Подробнее

Паттерн проектирования «Наблюдатель»

В этом небольшом рецепте мы покажем, как легко и просто приготовить паттерн проектирования «Наблюдатель» (или в английском варианте, паттерн «Observer»), а чтобы не городить огород из надуманных примеров, мы возьмем простой и доступный пример из книги Э.Фримен «Паттерны проектирования» и создадим свою погодную станцию.

Читать далее →

Подробнее

Алгоритм шифрования XTEA

Иногда возникает потребность в реализации достаточно быстрого, но вместе с тем довольно простого алгоритма блочного шифрования, который не был бы слишком критичен к ресурсам и при этом не был бы слишком строгим криптографическим методом.

В этом рецепте, я покажу несколько классов, реализующих алгоритм шифрования XTEA с разными размерами блока и разными размерами ключей, которые вы можете использовать в своих приложениях, которые рассчитаны на сокрытие некоторого объема информации, но при этом не столь требовательны к безопасности шифруемых данных

Читать далее →

Подробнее

Отображение шкалы для диапазона значений в консоли

В этом рецепте, на который меня вдохновил RosettaCode, я покажу простой пример того, как нарисовать «графическую» школу из столбиков для некоторого массива значений прямо в консоли и без всяких сторонних библиотек (окромя, стандартной) !

Читать далее →

Подробнее

Как определить день недели по указанной дате

Сегодня с помощью одного действительно «грязного» хака, я покажу как практически с помощью одного выражения определить какой день недели был в указанную вами дату.

Читать далее →

Подробнее

QtE5EntryPoint

Относительно недавно (пару месяцев назад) я разработал небольшой шаблон, который упрощает жизнь тем нашим читателям, кто после ряда публикаций в нашем блоге активно начал работу с замечательной библиотекой QtE5.

Данный шаблон упрощает создание основной процедуры main, автоматически создавая ее со всеми нужными вспомогательными процедурами и нужным активным классом основного виджета, который принимается шаблоном в качестве аргумента.
Читать далее →

Подробнее

Шаблон трансдуктор (transducer)

Сегодня я покажу один простой, но довольно практичный шаблон-преобразователь, сочетающий в себе массовый проход по некоторому набору данных и последующую компоновку этих данных либо в единый конгломерат, либо в единственное отображение из элементарного типа.

Читать далее →

Подробнее