Рубрика «проектирование»

Шаблон проектирования Prototype. Примеры

рис. 3 диаграмма классов после имплементации шаблона "Прототип"

Напомню, что в прошлый раз мы написали программу, которая содержала тулбар с геометрическими фигурами и поле, на которое эти фигуры добавлялись. Для каждой фигуры был определен отдельный класс, поэтому для добавления нового типа фигуры требовалось бы перекомпилировать программу. Шаблон проектирования «Прототип» решает эту проблему, позволяя порождать новые типы объектов во время выполнения программы. Шаблон проектирования …

Паттерн шаблонный метод (template method)

рис. 2 шаблон проектирования template method

Template method представляет собой поведенческий шаблон проектирования. Вспоминать про него стоит всякий раз, когда в вашем проекте появляется дублирующийся код (именно с таким, плохим кодом он иногда может справиться). Суть шаблонного метода заключается в том, что алгоритм поведения объектов выносится в базовый класс, а реализация отдельных шагов падает на плечи классов-наследников. Рассмотрим шаблон проектирования «template …

Получение данных с сайта. Шаблон Producer/Consumer [Qt, C++]

producer-consumer-pattern

В последнее время часто встречал вопросы о получении данных с сайта на С++, поэтому решил написать статью, посвященную этой теме. В качестве примера статьи рассмотрена задача получения бесплатных проектов с одного фриланс-сайта [1]. На этом сайте, есть страница со списком проектов, на которой есть их (проектов) частичное описание и ссылка на страницу проекта, но наша …

Использование БД SQL. Шаблон проектирования «Фасад» (Facade) [C++, Qt]

рис. 1 использование паттерна Facade

Статья состоит из трёх частей, в которых: описаны средства библиотеки Qt, предназначенные для работы с базами данных; рассмотрен паттерн проектирования «Facade». Описано каким образом его можно использовать для определения интерфейса базы данных; приведён и описан пример приложения, использующего базу данных и шаблон проектирования»Фасад». Если Вы совсем не знаете что такое SQL — то перед чтением …

Игра Сапер. Паттерн Mediator. Использование doxygen

рис. 1 окно игры "Сапер"

Недавно помогал какому-то студенту писать лабораторную — игру «Сапер», и получилась вполне вменяемая штука, которую решил описать на блоге. В статье рассмотрены: паттерн проектирования Mediator (посредник); цифровой таймер с использованием QLCDNumber (в нашей игре будут отображаться часики); автоматическая генерация документации с использованием doxygen. В результате получится игрушка, снимок окна которой показан на рис. 1.